Pyinstaller编译出的exe文件运行后出现
ModuleNotFoundError: No module named 'pkg_resources.py2_warn'
[1688] Failed to execute script pyi_rth_pkgres
编译代码中未引用pkg_resources。
网上先搜索了一番,有尝试过pip install distribute 失败。有尝试过降低pyinstaller版本,PyQt5版本,opencv版本等均失败。
重新写一个test.py如下
print('Hello Python!')
结果,正常输出exe并打印出 Hello Python!似乎看到一点希望。
from PyQt5 import QtCore, QtGui, QtWidgets
print('Hello Python!')
正常输出exe并打印出 Hello Python!
继续
import cv2
print('Hello Python!')
输出同上的 Failed to execute script pyi_rth_pkgres。看来有部分依赖的库会导致此问题
用pyinstaller -d all test.py(debug all)模式看详细输出,还是在pkg_resources.py2_warn
之后,在有针对性的查找pkg_resources.py2_warn ,原来在setuptools里有pkg_resources模块
再降setuptools版本后,可以正常运行了。
最后,给出笔者Python配置环境的版本。供大家参考
win10_64位 + python 3.6.8_64位 + Pywin32 227 + PyQt5 5.14.1 + opencv-python 3.4.5.20 + setuptools 44.0.0 + PyInstaller 3.6
win10_32位 + python 3.5.4_32位 + Pywin32 227 + PyQt5 5.14.1 + opencv-python 3.4.5.20 + setuptools 44.0.0 + PyInstaller 3.6
以上配置环境python包官网下载,模块均pip install自动安装依赖
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。