pyinstaller:没有名为 'numpy.distutils' 的模块



我正试图为其他没有安装python的用户打包我的python应用程序。我使用pyinstaller

我的应用程序有多个依赖项,例如通过import numpy as导入

到目前为止,我已经尝试过:

pyinstaller --paths venvLibsite-packages --onefile Main.py

打包运行时没有出现错误。但是当试图打开.exe文件时,我得到了:

(venv) PROJECT_DIR>distMain.exe
Traceback (most recent call last):
File "Main.py", line 6, in <module>
from LinearProgram import LinearProgram
File "PyInstallerloaderpyimod03_importers.py", line 476, in exec_module
File "LinearProgram.py", line 3, in <module>
import scipy.optimize
File "PyInstallerloaderpyimod03_importers.py", line 476, in exec_module
File "scipyoptimize__init__.py", line 401, in <module>
File "PyInstallerloaderpyimod03_importers.py", line 476, in exec_module
File "scipyoptimize_minimize.py", line 27, in <module>
File "PyInstallerloaderpyimod03_importers.py", line 476, in exec_module
File "scipyoptimize_trustregion_constr__init__.py", line 4, in <module>
File "PyInstallerloaderpyimod03_importers.py", line 476, in exec_module
File "scipyoptimize_trustregion_constrminimize_trustregion_constr.py", line 5, in <module>
File "PyInstallerloaderpyimod03_importers.py", line 476, in exec_module
File "scipyoptimize_constraints.py", line 8, in <module>
File "PyInstallerloaderpyimod03_importers.py", line 476, in exec_module
File "numpytesting__init__.py", line 12, in <module>
File "PyInstallerloaderpyimod03_importers.py", line 476, in exec_module
File "numpytesting_privateextbuild.py", line 11, in <module>
ModuleNotFoundError: No module named 'numpy.distutils'
[3812] Failed to execute script 'Main' due to unhandled exception!

我已验证应用程序在运行python Main.Py时是否正常工作

我还试着用手动安装丢失的包装

pyinstaller --onefile --hidden-import numpy --hidden-import scipy --hidden-import matplotlib Main.py

这导致了完全相同的错误。

我也用--hidden-import numpy.distutils试过,但也没用。

有人对如何打包我所有的依赖项有什么建议吗?

我也遇到了同样的问题(windows、python 3.9、pyinstaller 4.7、numpy 1.22(。pyinstaller 4.7与numpy 1.22不兼容。

短期解决方案:将numpy下调至1.21.5。

长期解决方案:等待pyinstaller更新(hook-numpy(

您可以将此bug提交到https://github.com/pyinstaller/pyinstaller/wiki/How-to-Report-Bugs

希望这会有所帮助。

最新更新