用pyinstaller打包py程序后运行闪退,pycharm和Jupiter环境中运行均无问题,cmd检查出现以下错误?

D:\tool\Anaconda\Scripts\dist>.\"index smooth.exe"
Traceback (most recent call last):
File "site-packages\PyInstaller\loader\rthooks\pyi_rth_certifi.py", line 13, in <module>
File "d:\tool\anaconda\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 623, in exec_module
exec(bytecode, module.__dict__)
File "ssl.py", line 98, in <module>
ImportError: DLL load failed: 找不到指定的模块。
[19648] Failed to execute script pyi_rth_certifi

劳高手大佬解答疑惑

遇到这样的问题指的是缺少dll文件,但是这个错误往往会让人很困扰,因为它不会提示具体缺少什么dll文件。想要正确的把缺少的dll找到,就得查看打包运行时的错误警告,除了在shell查看以外,还可以在/build/name/warnname.txt中查看。
找出缺失的dlls以后,可以在打包时加上--add-binary选项:
pyinstaller --add-binary '/path/to/some.dll:.' myscript.py

或者在.spec文件中添加更多的dlls:
a = Analysis(...
binaries=[('/path/to/some.dll', '.'), ... ],
...)追问

谢谢您的详细解答,我查看了一下warn文件,发现缺失模块太多,请问怎么能够找到缺失模块路径,是否都需要每个添加。以下是部分warn.txt提醒:
missing module named 'org.python' - imported by copy (optional), xml.sax
missing module named _posixsubprocess ........
有超过50个模块

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网