运维开发网

Pyinstaller No module named pkg_resources.py2_warn

运维开发网 https://www.qedev.com 2020-04-02 19:02 出处:51CTO 作者:cfy10
执行PyInstaller输出的exe出错Failed to execute script pyi_rth_pkgres

Pyinstaller编译出的exe文件运行后出现

Pyinstaller No module named pkg_resources.py2_warn

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模块

Pyinstaller No module named pkg_resources.py2_warn

再降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自动安装依赖

0

精彩评论

暂无评论...
验证码 换一张
取 消