我写了一个小的python脚本来了解如何使用pyinstaller构建可执行文件。脚本是
import numpy
import scipy
from scipy.optimize import linear_sum_assignment
from scipy.spatial.distance import cosine
from scipy.sparse.csgraph import _validation
value_cos = cosine(0.2, 0.8) * 0.5
print('\n cos value calculated using cosine', value_cos)
cost = numpy.array([[4, 1, 3], [2, 0, 5], [3, 2, 2]])
ls_assign = linear_sum_assignment(cost)
print("\n ls_assignment value :", ls_assign)
构建可执行文件时没有看到任何错误,但是当我进入dist目录并尝试运行可执行文件时,出现以下错误
Traceback (most recent call last):
File "site-packages/PyInstaller/loader/rthooks/pyi_rth_pkgres.py", line 13, in <module>
File "/home/puneet/miniconda3/envs/nuitka/lib/python3.7/site-packages/PyInstaller/loader/pyimod03_importers.py", line 623, in exec_module
exec(bytecode, module.__dict__)
File "site-packages/pkg_resources/__init__.py", line 85, in <module>
ModuleNotFoundError: No module named 'pkg_resources.py2_warn'
[210875] Failed to execute script pyi_rth_pkgres
我不确定在生成可执行文件时是否缺少任何参数。任何帮助将不胜感激。
答案 0 :(得分:1)
感谢Vignesh的回复。我只是通过添加
对错误进行了排序import pkg_resources.py2_warn
位于其他进口商品的顶部。现在可执行文件可以正常工作了。
答案 1 :(得分:0)
尝试修改此注释行15,并在以下文件中添加以下行以隐藏导入 在python 38 Windows FIXED中,将此行添加到Python38 / Lib / site-packages / PyInstaller / hooks / hook-pkg_resources.py
#hiddenimports = collect_submodules('pkg_resources._vendor')
hiddenimports = collect_submodules('pkg_resources._vendor') + ['pkg_resources.py2_warn']