【发布时间】:2020-03-31 16:25:41
【问题描述】:
我正在尝试使用 pyinstaller 创建一个可执行文件,但它在启动该可执行文件时立即崩溃。应该注意的是,该程序在 PyCharm 中运行良好。我已经将它缩小到只有一行代码,导致它使用另一个 python 文件出错 - 如果文件包含 '''导入pdfrw''' 它会在启动 pyinstaller 创建的可执行文件时立即崩溃。
我在管理员模式下运行的命令提示符下尝试了以下命令,所有这些都给出了相同的结果(这是在将目录更改为 .py 文件所在的位置之后):
pyinstaller "compiling test.py"
pyinstaller --onefile "compiling test.py"
pyinstaller --onedir "compiling test.py"
在 import 语句周围使用 try/except 子句,我可以在它关闭可执行文件之前看到错误消息,它说:
无法加载本机模块“Crypto.Cipher._raw_ecb”:尝试“_raw_ecb.cp36-win_amd64.pyd”:无法加载库“C:\Users\KYLE~1.AFF\AppData\Local\Temp_MEI534042\Crypto\Util ..\Cipher_raw_ecb.cp36-win_amd64.pyd':错误 0x7e。此外,ctypes.util.find_library() 无法找到名为 'C:\Users\KYLE~1.AFF\AppData\Local\Temp\_MEI534042\Crypto\Util\..\Cipher\_raw_ecb.cp36- 的库win_amd64.pyd',尝试 '_raw_ecb.pyd':无法加载库 'C:\Users\KYLE~1.AFF\AppData\Local\Temp_MEI534042\Crypto\Util..\Cipher_raw_ecb.pyd':错误 0x7e。此外,ctypes.util.find_library() 无法找到名为“C:\Users\KYLE~1.AFF\AppData\Local\Temp\_MEI534042\Crypto\Util\..\Cipher\_raw_ecb.pyd”的库
有没有办法可以修改规范文件以正确生成文件(或其他解决方案)?当我需要使用 python-docx 制作可执行文件时,我发现了类似的东西(而且我很可能也需要为这个程序执行此操作,因为我试图制作可执行文件的原始 python 程序也使用 python-docx作为pdfrw):PyInstaller and python-docx module do not work together
提前感谢您的帮助。
【问题讨论】:
-
你试过“pyinstaller --hidden-import=pdfrw --onefile test.py”吗?也许它可能是一个隐藏的导入。
-
刚刚试过了,结果还是一样。
标签: python pyinstaller pdfrw