版权声明:转载请注明作者(独孤尚良dugushangliang)出处:https://blog.csdn.net/dugushangliang/article/details/100761976

时常觉得pyinstaller的打包很玄幻,不一定成功了失败了,平常也是绕着走,遇到问题束手无策。

本次打包,导入了两个:re/socket。

直接打包后生成的exe文件报错Failed to execute script。

我怎么打包的呢?

参阅https://blog.csdn.net/dugushangliang/article/details/81983168

pyinstaller --onefile fa.py -w

打包时cmd所在文件夹中会有build文件夹,其内只有一个同名于打包py文件名的文件夹,这个文件夹内会有一个warn开头的后面名字同名于py文件的txt文件,打开这个txt文件,如下:


This file lists modules PyInstaller was not able to find. This does not
necessarily mean this module is required for running you program. Python and
Python 3rd-party packages include a lot of conditional or optional module. For
example the module 'ntpath' only exists on Windows, whereas the module
'posixpath' only exists on Posix systems.Types if import:
* top-level: imported at the top-level - look at these first
* conditional: imported within an if-statement
* delayed: imported from within a function
* optional: imported within a try-except-statementIMPORTANT: Do NOT post this list to the issue-tracker. Use it as a basis foryourself tracking down the missing module. Thanks!missing module named resource - imported by posix (top-level), C:\Users\idea\Desktop\73socketTCP.py (top-level)
missing module named posix - imported by os (conditional, optional), C:\Users\idea\Desktop\73socketTCP.py (top-level)
missing module named _posixsubprocess - imported by subprocess (conditional), C:\Users\idea\Desktop\73socketTCP.py (top-level)
missing module named clr - imported by pyreadline.clipboard.ironpython_clipboard (top-level), pyreadline.console.ironpython_console (top-level), C:\Users\idea\Desktop\73socketTCP.py (top-level)
missing module named IronPythonConsole - imported by pyreadline.console.ironpython_console (top-level), C:\Users\idea\Desktop\73socketTCP.py (top-level)
missing module named StringIO - imported by pyreadline.py3k_compat (conditional), C:\Users\idea\Desktop\73socketTCP.py (top-level)
missing module named System - imported by pyreadline.clipboard.ironpython_clipboard (top-level), pyreadline.keysyms.ironpython_keysyms (top-level), pyreadline.console.ironpython_console (top-level), pyreadline.rlmain (conditional), C:\Users\idea\Desktop\73socketTCP.py (top-level)
missing module named sets - imported by pyreadline.keysyms.common (optional), C:\Users\idea\Desktop\73socketTCP.py (top-level)
missing module named startup - imported by pyreadline.keysyms.common (conditional), pyreadline.keysyms.keysyms (conditional), C:\Users\idea\Desktop\73socketTCP.py (top-level)
missing module named console - imported by pyreadline.console.ansi (conditional), C:\Users\idea\Desktop\73socketTCP.py (top-level)
excluded module named _frozen_importlib - imported by importlib (optional), importlib.abc (optional), C:\Users\idea\Desktop\73socketTCP.py (top-level)
missing module named _frozen_importlib_external - imported by importlib._bootstrap (delayed), importlib (optional), importlib.abc (optional), C:\Users\idea\Desktop\73socketTCP.py (top-level)
missing module named _winreg - imported by platform (delayed, optional), C:\Users\idea\Desktop\73socketTCP.py (top-level)
missing module named _scproxy - imported by urllib.request (conditional)
missing module named java - imported by platform (delayed), C:\Users\idea\Desktop\73socketTCP.py (top-level)
missing module named 'java.lang' - imported by platform (delayed, optional), C:\Users\idea\Desktop\73socketTCP.py (top-level), xml.sax._exceptions (conditional)
missing module named vms_lib - imported by platform (delayed, conditional, optional), C:\Users\idea\Desktop\73socketTCP.py (top-level)
missing module named termios - imported by tty (top-level), C:\Users\idea\Desktop\73socketTCP.py (top-level), getpass (optional)
missing module named grp - imported by shutil (optional), tarfile (optional), C:\Users\idea\Desktop\73socketTCP.py (top-level)
missing module named org - imported by pickle (optional), C:\Users\idea\Desktop\73socketTCP.py (top-level)
missing module named pwd - imported by posixpath (delayed, conditional), shutil (optional), tarfile (optional), http.server (delayed, optional), webbrowser (delayed), C:\Users\idea\Desktop\73socketTCP.py (top-level), netrc (delayed, conditional), getpass (delayed)
missing module named 'org.python' - imported by copy (optional), C:\Users\idea\Desktop\73socketTCP.py (top-level), xml.sax (delayed, conditional)

于是我试图寻找这些module在哪里,然而徒劳无功。事实上,即使打包成功的可以正常使用的,也会有类似内容。

百思不得其解,又在网上查询相关情况,结合本例实际,有如下怀疑:

1.参阅https://www.zhihu.com/question/53717334,导入的包的版本较高,pyinstaller不支持。

2.参阅https://www.jianshu.com/p/fe9ee823501c,pyinstaller找不到需要导入的包。

3.参阅https://www.cnblogs.com/nodchen/p/9672141.html,pyinstaller参数的问题。

我首先想到的是,先不导入任何包,用pyinstaller进行打包,试试看效果,再逐次导入包试着打包看看效果以便于定位到是哪个包导致的问题。

一次偶然,发现了问题所在,证实本例所遇到的问题如3的参阅一样,是参数的问题。

本例的关键,在于socket需要使用命令行,-w则是表明打包后不执行命令行。我的偶然即是打包的时候忘记了-w结果打包成功了。参阅https://blog.csdn.net/dugushangliang/article/details/100762354

若是其他情况,则逐步分析。我之前有导入pandas出现打包失败的问题。后续若有时间再行探究。

独孤尚良dugushangliang——著

pyinstaller打包py文件生成的exe报错Failed to execute script相关推荐

  1. pyinstaller打包py文件生成的exe出现闪退问题

    在使用pyinstaller打包py文件生成可执行文件exe出现闪退问题,解决方法: 在需要打包的py文件中的主函数最后一行添加如下代码: python2: raw_input('please inp ...

  2. Pyinstaller 打包exe 报错 “failed to execute script XXX“的一种解决方案

    Pyinstaller 打包exe 报错 "failed to execute script XXX"的一种解决方案 参考文章: (1)Pyinstaller 打包exe 报错 & ...

  3. Pyinstaller 打包exe 报错 failed to execute script XXX的一种解决方案

    最近用PyQt5写了一个界面小程序,需要打包成exe给到其他windows上使用,一开始使用python 3.7 64位,用pyinstaller打包exe,在64位机上运行正常. 但是目标电脑是32 ...

  4. pyinstaller打包报错 Failed to execute script ‘xxx‘ due to unhandled exception:input():lost sys.stdin

    pyinstaller打包报错 Failed to execute script 'xxx' due to unhandled exception:input():lost sys.stdin pyi ...

  5. Pyinstaller 打包程序踩过的坑(1.Failed to execute script ;2.No module named typedefs等问题)

    Pyinstaller 打包程序踩过的坑(1.Failed to execute script ;2.No module named typedefs:3 Could not find or load ...

  6. 【解决】MacOS下 Python3.7 使用 pyinstaller 打包后执行报错 Failed to execute script pyi_rth__tkinter...

    Fix tcl/tk libs inclusion in tkinter with Python3.7 under MacOS 使用 Pyinstaller 打包时候报错 3027 ERROR: Tc ...

  7. python3 打包后执行报错failed to execute script ***

    1.问题描述 使用pyinstaller -F ***.spec命令打包,打包过程无报错信息,生成可执行文件(.exe),双击运行报错,如下图: 2.查找原因 (1)百度,查看打包文件(build/* ...

  8. 【踩坑日记(一)】: Pyinstall 打包.py文件 生成exe可执行文件

    文章目录 Pyinstall 打包.py文件 生成exe可执行文件 如何入坑&出坑 Analysis 实例 其他实例 常用参数 参考文档:Pyinstall 官方手册 Pyinstall 打包 ...

  9. Python打包工具Pyintealler打包py文件为windows exe文件过程及踩坑记录+实战例子

    Python打包工具Pyintealler打包py文件为windows exe文件过程及踩坑记录+实战例子 目录 Python打包工具Pyintealler打包py文件为windows exe文件过程 ...

最新文章

  1. Linux 下杀毒软件 CPU 占用率为何持续升高?
  2. ASP.NET Core 2.0 : 九.从Windows发布到CentOS的跨平台部署
  3. 使用NPOI时ICSharpCode.SharpZipLib版本冲突问题解决
  4. 经常使用的时间同步server地址
  5. Debian Security Advisory(Debian安全报告) DSA-4407-1 xmltooling
  6. php水平线代码,在HTML中水平线标注与代码注释应该如何使用
  7. 差距50倍!为什么Web API第一次执行这么慢?
  8. 高校实验室管理系统_史上最全面的实验室信息管理系统(LIMS)全解
  9. SpringCloud微服务(04):Turbine组件,实现微服务集群监控
  10. php pear mail 发送邮件,PHP用pear自带的mail类库发邮件
  11. .net开发常用工具备忘录
  12. form表单target的用法 替代window.open
  13. loss值多少才算收敛_库存究竟多少才算合理?
  14. 【Xamarin.iOS】使用iOS 11进行大型游戏
  15. Python实现双线性插值、最近邻插值、三次内插法
  16. Python开发系列课程(14) - 玩转正则表达式
  17. sqlyog连接mysql错误码2058
  18. 性能测试监控TP50、TP99、TP999含义(99分位延时的含义)
  19. 如何与别人解释云计算是什么意思?
  20. jQuery简易图片的切换

热门文章

  1. 从零开始学习Linux运维,成为IT领域翘楚(二)
  2. 什么是DDOS高防IP
  3. 九大数据可视化利器,你有足球竞猜平台源码下载在使用吗?
  4. 获取时间对象Can not parse date while it seems to fit format ‘yyyy-MM-dd‘T‘HH:mm:ss.SSS
  5. 学术期刊《广西物理》简介及投稿要求
  6. 低频数字式相位测试仪的原理与使用
  7. oracle 视图能建索引吗,Oracle视图中建立索引注意事项.doc
  8. Oracle国际认证OCA/OCP/OCM目前的含金量及就业形势
  9. python计算灰色关联度
  10. 机电翻模【管道转化】功能,自动识别CAD图纸完成翻模