概述
问题:
Pyinstaller 尝试使用 --key加密exe时得到以下错误
Traceback (most recent call last):
File "c:usersadministratorappdatalocalprogramspythonpython37libsite-packagesPyInstallerloaderpyimod03_importers.py", line 438, in get_code
return self._pyz_archive.extract(fullname)[1]
File "c:usersadministratorappdatalocalprogramspythonpython37libsite-packagesPyInstallerloaderpyimod02_archive.py", line 371, in extract
obj = zlib.decompress(obj)
zlib.error: Error -3 while decompressing data: incorrect header check
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "site-packagesPyInstallerloaderpyiboot01_bootstrap.py", line 25, in <module>
File "c:usersadministratorappdatalocalprogramspythonpython37libsite-packagesPyInstallerloaderpyimod03_importers.py", line 607, in exec_module
bytecode = self.get_code(spec.loader_state)
File "c:usersadministratorappdatalocalprogramspythonpython37libsite-packagesPyInstallerloaderpyimod03_importers.py", line 440, in get_code
raise ImportError('Loader FrozenImporter cannot handle module ' + fullname)
ImportError: Loader FrozenImporter cannot handle module os
[5836] Failed to execute script pyiboot01_bootstrap
解决方案:
使用 pycryptodome 模块时 Pyinstaller --key 参数打包会出错,这应该是模块不兼容。
使用pycrypto模块来避免Loader FrozenImporter无法处理模块os错误。
在Windows上安装
- 安装Python 3.x.
- 安装Visual C ++生成工具
- 安装pycrypto模块
cd "C:Program Files (x86)Microsoft Visual Studio2017CommunityVCAuxiliaryBuild"
vcvarsall.bat x86_amd64
cd %VCINSTALLDIR%
for /R %f in (*stdint.h) do set CL=-FI"%f"
pip install pycrypto
这将工作并能够使用.spec文件或直接加密可执行文件。
最后
以上就是繁荣书本为你收集整理的pycrypto打包错误的全部内容,希望文章能够帮你解决pycrypto打包错误所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复