python pyinstaller 相关错误记录

错误1

操作:使用pyinstaller打包exe程序

Fatal error in launcher: Unable to create process using '"d:\userapp\py38\python.exe"  "C:\Users\build\AppData\Local\Programs\Python\Python38\Scripts\pyinstaller.exe" -F -w --version-file version.txt cctt_pt_tool_main.py': The system cannot find the file specified.

由于pyinstaller.exe不是pip安装,而是直接使用复制方式从其它电脑上拷贝过来,卸载重装即可。

错误2

操作:运行pyinstaller打包的exe程序

Traceback (most recent call last):
  File "C:\Users\build\AppData\Local\Programs\Python\Python38\Lib\site-packages\PyInstaller\loader\rthooks\pyi_rth_pkgres.py", line 13, in <module>
    import pkg_resources as res
  File "c:\users\build\appdata\local\programs\python\python38\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 623, in exec_module
    exec(bytecode, module.__dict__)
  File "site-packages\pkg_resources\__init__.py", line 86, in <module>
ModuleNotFoundError: No module named 'pkg_resources.py2_warn'
[9140] Failed to execute script pyi_rth_pkgres

原因:主要是因为python版本和库版本不配对导致
方式1:卸载重装其它合适的版本
方式2:对File "site-packages\pkg_resources\__init__.py", line 86, in 中86行引入的包注释掉

参考链接

错误3

操作:手动打包运行正常,使用Jenkins打包出现下面问题
python pyinstaller 相关错误记录_第1张图片
原因:使用的 ucrtbase.dll 有问题,查看build 目录下的Analysis-00.toc 文件,使用的是java里面的dll,正常应该使用C:\Windows\System32\ 路径下的dll。
在这里插入图片描述
方式1: 替换错误的dll
方式2:使用 pyinstaller 时候,添加 --noupx 即使可用,也不要使用UPX(Windows和* nix之间的工作方式不同)即可
参考链接1
参考链接2

你可能感兴趣的:(python,python)