当前位置:   article > 正文

pyinstaller打包exe文件后,exe运行报错找不到xx模块_pyinstaller打包找不到模块

pyinstaller打包找不到模块

环境

1.操作系统:window10
2.IDE: pycharm
3.pyinstaller版本:4.5
4python版本:3.7

报错现象

1.我这里的第三方模块使用的eventlet和dns,在pycharm中运行py程序,程序正常运行;

2.使用pyinstaller -F 打包成test.exe文件,在命令行中输入 .\test.exe发现程序报第三方模块无法找到

失败的方法

1.按照网上的方法在pyinstaller -F 中加入-p “第三方库绝对路径”,运行依然报错根本不起作用。

2.按照报错信息逐步添加每一个缺失的模块,此方法可以解决问题但是很傻,尤其是第三方库关联其它库的时候,能把你恶心死。

成功的方法

打开pyinstaller的目录,在hooks目录下创建文件,文件名一定是hook-第三方库.py,比如我用的eventlet库,我就需要创建hook-eventlet.py。
在该文件中添加如下代码:

from PyInstaller.utils.hooks import collect_all

datas, binaries, hiddenimports =collect_all('eventlet') #collect_all的参数一定也是第三方库名,不要写错。
  • 1
  • 2
  • 3

然后在用pyinstaller -F 打包exe,运行就不会报错。

PS:此方法暂时没有在Linux上尝试

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/591018
推荐阅读
相关标签
  

闽ICP备14008679号