Pyinstaller 打包程序踩过的坑(1.Failed to execute script ;2.No module named typedefs;3 Could not find or load the Qt platform plugin “windows”;4 warning:lib not found)

最近写了一个程序,综合比较后选择PyInstaller打包程序(相比起来其他的打包工具真的安装繁琐,且出问题概率更高)。由于打包过程中急于求成遇到了不少问题,踩过的坑包括但不限于:

1.Failed to execute script

导致脚本无法执行的问题很多,如果是打包的GUI界面程序,很少会提示错在哪儿,仅仅显示‘Failed to execute script’。

建议对于任何程序的打包,都加上参数-c

pyinstaller -F -c -xxx.py

-c的作用是返回错误信息!如果有报错的话,将在控制台显示。这里,要做好截图的准备,因为控制台报错后是一闪而过的,如下。

对于pyinstaller,只要有报错信息就很容易解决,直接度娘搜答案即可。这里我的错误信息显示的是’No module named typedefs’,下边介绍解决方案。

2.No module named typedefs

这个问题很可能是因为程序里边有导入 sklearn 模块,为了进一步确认这个问题,可以在打包好的bulid 文件夹查看warning信息。

警告日志里边一般会有 sklearn 的关键字,确认问题。接下来就是删除原来的dist、build 文件、 spec文件, 在编译的时候加上:

pyinstaller -F -c xxx.py --hidden-import sklearn.neighbors.typedefs

继续打包即可。如果打包过程中出现最大递归深度的报错’Maximum recursion depth error’,在生成的xxx.spec文件中加入

import sys
sys.setrecursionlimit(5000)

同时把xxx.spec文件中

hiddenimports=[]

修改为

hiddenimports=['cython','sklearn','sklearn.ensemble','sklearn.neighbors.typedefs','sklearn.neighbors.quad_tree','sklearn.tree._utils','scipy._lib.messagestream']

保存后运行即可

pyinstaller xxx.spec

3 Could not find or load the Qt platform plugin “windows”

如果打包PyQt做的GUI界面就容易出现这个问题,解决办法很简单,在电脑环境变量里边加上如下变量
变量名:QT_PATH
变量值:qt plugins的路径,如我的路径 ‘E:\Anaconda3\pkgs\qt-5.9.6-vc14h1e9a669_2\Library\plugins’
或者将该文件夹考至dist文件夹下(生成exe的文件夹)

4 warning:lib not found

如果在打包过程中,出现了很多’warning:lib not found’,这些警告暂时可以不用管,它列出了PyInstaller无法找到的模块, 并不意味着运行程序一定需要此模块,这个在警告日志里边也有解释。如果最后程序确实因为这些问题无法运行,可以把warning中这些dll的路径添加到环境变量中(一般这些dll的路径都在一个文件夹里边,搜索找到这个文件夹,复制路径添加到环境变量里),再次打包运行即可。

参考:

[1]:解决pyinstaller打包sklearn等库出现的问题: 提示failed to execute script xxx
https://blog.csdn.net/qq_40587575/article/details/86500445
[2]: Pyinstaller 打包遇到的一系列问题的解决方案
https://blog.csdn.net/windows_peng/article/details/81285658?utm_source=blogxgwz8
[3]: pyinstaller 打包成exe出现的问题+解决办法
https://segmentfault.com/a/1190000014781519

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

  1. 【转载】pyinstaller打包python文件后,运行出现Failed to execute script xxx.exe错误的解决方式(No module named 'xxx')

    版权说明:https://blog.csdn.net/qq_42063091/article/details/82423221 一.问题定位: windows+r进入cmd命令行窗口 cd exe文件 ...

  2. Unity打包ARCore程序踩过的坑

    个人纪录Unity打包ARCore程序踩过的坑 首先一定要挂梯子,因为新的ARCore要求高版本的gradle,Unity里面的gradle版本可能过低(使用2019 LTS版时,ARCore的SDK ...

  3. python打包程序时窗口设置_Python Pyinstaller 打包程序及遇到的问题总结

    一.如何打包py程序 1.安装打包模块 pip install pyinstaller 2.定义保存包的路径 CMD ,CD 比方:把最终*.exe运行文件,保存到H盘 install 文件夹下. 输 ...

  4. 解决PyInstaller打包程序exe在win7运行异常问题(OSError: [WinError 87] 参数错误、Error loading Python DLL python39.dll等)

    问题背景 平时一直在win10+anaconda环境下编写python程序,用pyinstaller打包后也没有问题.但是打包后发给其他同事,在win7机器上就出问题了. 经过一系列排查,终于解决了打 ...

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

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

  6. python fail to execute,pyinstaller 打包出现“Failed to execute script XXX“问题

    pyinstaller 打包PyQt5的 *.exe 程序出现"Failed to execute script XXX"问题 由于本人刚接触python,偶然看到用PyQt5做窗 ...

  7. python gui打包exe pyinstaller打包运行失败 Failed to execute script pyi_rth_multiprocessing

    python 通过pyinstaller打包后,在别的电脑运行失败 Failed to execute script pyi_rth_multiprocessing 在低版本windows7上运行会出 ...

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

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

  9. pyinstaller 打包python应用为exe后 打包出现failed to execute script

    pyinstaller 打包python应用为exe后 打包出现failed to execute script 打包后出现如题问题,只需在打包语句中加入pkg_resources.py2_warn这 ...

最新文章

  1. ASP .NET Core MVC Entity Framework 旧书交易网站
  2. X264代码中一些参数的意义
  3. io和nio的缓冲_IO与NIO –中断,超时和缓冲区
  4. 非常好的在网页中显示pdf的方法
  5. Effective C++ 条款12
  6. java的创建管理员对象_java--更改管理员密码,请列位帮忙看看有没有更好的实现方式...
  7. Spring Boot最新版集成邮件发送功能大全
  8. Linux 查看磁盘空间实现代码介绍
  9. 非华为手机可以用鸿蒙吗,【图片】华为鸿蒙系统的厉害之处在于 你可能非用不可 !【手机吧】_百度贴吧...
  10. java_数组插入001
  11. oracle的hr工资待遇,oracle的hr用户里employees表
  12. Java中实现连接数据库并进行查询
  13. python真的是吹过了-python是否被过度吹捧?
  14. 小程序wx.getUserInfo获取用户信息方案介绍
  15. 【转贴】二节棍精典棍花动作详解
  16. 计算机技术转让增值税,技术转让收入是否交增值税
  17. 华为推送服务回执证书即将到期,尽快更新
  18. android开发中,apk文件安装到\system\app 的解决办法 仅限root机
  19. k8s学习笔记2-搭建harbor私有仓库
  20. c语言取余规则_这是我的C语言入门笔记

热门文章

  1. java jsch jar_使用JSch从Java在远程计算机上执行命令
  2. Synaptics触摸板无法实现双指单击模拟鼠标右键点击的解决办法
  3. 数据湖+数据中台,金山云大数据平台竞争力如何?
  4. 那些成功学和鸡汤文没有告诉你的事
  5. 计算机专业7选3选科,新高考改革选科怎么选 选哪三科好
  6. python3.x完全兼容python2.x吗
  7. clickhouse分析:clickhouse jdbc返回failed to respond问题排查
  8. CentOS Linux
  9. 13.EVE-NG内存不够?教您扩大虚拟内存!
  10. 什么是字节码和字节码有什么好处?