python程序打包时出现lib not found_使用pyinstaller打包python程序,并出现“ NoModuleFindError”...

我使用pyinstaller将python程序打包为可执行程序(exe)。

我的程序版本:

Pyinstaller的:3.3.1

的Python:3.6.1的Windows:10-10.0.16299-SP0

我可以在命令行窗口中使用命令“ python data_processing_gui.py”运行data_processing_gui.py文件,而不会出现任何错误。

我使用命令打包我的python程序(名称为data_processing_gui.py):

pyinstaller -F -p C:\Users\fanyu\Anaconda3\Lib;C:\Users\fanyu\Anaconda3\Lib\site-packages;C:\Users\fanyu\Anaconda3\Lib\site-packages\PyQt5\Qt\bin;C:\Users\fanyu\Anaconda3\Lib\site-packages\pydicom;C:\Users\fanyu\Anaconda3\Lib\site-packages\radiomics;C:\Users\fanyu\Anaconda3\Lib\site-packages\pywt;C:\Users\fanyu\Anaconda3\Lib\site-packages\pywt\_extensions;C:\Users\fanyu\Anaconda3\Lib\site-packages\tensorflow;C:\Users\fanyu\Anaconda3\Lib\site-packages\SimpleITK;C:\Users\fanyu\Anaconda3\Lib\site-packages\PIL;C:\Users\fanyu\Anaconda3\Lib\site-packages\pandas;C:\Users\fanyu\Anaconda3\Lib\site-packages\nrrd;C:\Users\fanyu\Anaconda3\Lib\site-packages\numpy -i C:\Users\fanyu\Desktop\work\package\image\doctor.ico data_processing_gui.py

当我在Windows的命令行窗口中运行以上代码时,没有错误,但是当我运行目标程序(data_progressing_gui.exe)时,有一个ModuleNotFindError错误信息是:

追溯(最近一次通话):文件“ data_processing_gui.py”,第12行,在exec_module中的文件“ c:\ users \ fanyu \ anaconda3 \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py”中,行631 EXEC(字节码,模块字典)文件“站点包\ radiomics__init __ PY。”,第15行,在文件“C:\用户\番禺\ anaconda3 \ LIB \站点包\ PyInstaller \装载机\ pyimod03_importers.py”,行631,在exec_module EXEC(字节码,模块字典)文件“站点包\ radiomics \ imageoperations.py”,第6行,在

文件“C:\用户\番禹\ anaconda3 \ lib中\站点包\ PyInstaller \装载机\ pyimod03_importers.py”,线路631,在exec_module EXEC(字节码,模块。字典)在exec_module exec中的文件“ c:\ users \ fanyu \ anaconda3 \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py”的文件“ site-packages \ pywt__init __。py”,行17,在exec_module exec(字节码,模块dict),文件“ c:\ users \ fanyu \ anaconda3 \ lib \ site-packages \ PyInstaller \ loader \ pyimod03_importers.py”的文件“ site-packages \ pywt_functions.py”,行17,在714行load_module模块= loader.load_module(全名)文件“ pywt / _extensions / _pywt.pyx”,第1行,初始化pywt._extensions._pywt(pywt_extensions_pywt.c:31281)ModuleNotFoundError:没有名为'pywt._extensions._cwt'的模块7564]无法执行脚本data_processing_gui

似乎该程序找不到指定的包路径(pywt._extensions._cwt),但是,我已将该路径添加到pyinstaller的参数列表中。

起初,我认为pyinstaller可能有问题,所以我尝试重新安装它。然后,我编写了一个简单的python程序对其进行测试,它可以正常运行。

我已经尝试了很多,但还是无法解决,所以我在这里寻求帮助,如果有人可以提供任何建议,我将不胜感激。

解决方案

我无法解释原因,但确实可以解决我的问题。

解决方案是:使用pyinstaller生成“ .spec”文件后,将缺少的模块添加到“ .spec”文件中的“ hiddenimport = []”,如下所示:

hiddenimport=["pywt","pywt._estentions._cwt"]

然后使用此文件生成您的exe文件:

pyinstaller my.spec

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值