错误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 <module>
中86行引入的包注释掉
错误3
操作:手动打包运行正常,使用Jenkins打包出现下面问题
原因:使用的 ucrtbase.dll 有问题,查看build
目录下的Analysis-00.toc
文件,使用的是java里面的dll,正常应该使用C:\Windows\System32\
路径下的dll。
方式1: 替换错误的dll
方式2:使用 pyinstaller 时候,添加 --noupx 即使可用,也不要使用UPX(Windows和* nix之间的工作方式不同)
即可
参考链接1
参考链接2