问题描述
我们将使用Python +安装为source system
的库作为Windows系统,将要测试构建可执行文件的Windows系统称为target system
(未安装Python)
我们将Python文件称为file1.py
当我仅通过以下命令运行它时,它会按预期运行:
py -3 file1.py
但是,当我通过PyInstaller构建文件时,事情开始变得棘手:
pyinstaller --hidden-import=pkg_resources.py2_warn --onefile file1.py
在源系统中构建文件后,便能够在该系统中运行file1.exe。
但是,在另一个系统上,当我运行file1.exe时,它显示以下运行时错误:
Traceback (most recent call last):
File "file1.py",line 19,in <module>
File "c:\users\xyz\appdata\local\programs\python\python37\lib\site-packages\PyInstaller\loader\pyimod03_importers.py",line 623,in exec_module
File "site-packages\sklearn\__init__.py",line 74,in exec_module
File "site-packages\sklearn\base.py",line 20,in exec_module
File "site-packages\sklearn\utils\__init__.py",line 25,in exec_module
File "site-packages\sklearn\utils\fixes.py",line 18,in exec_module
File "site-packages\scipy\stats\__init__.py",line 388,in exec_module
File "site-packages\scipy\stats\stats.py",line 180,in exec_module
File "site-packages\scipy\stats\distributions.py",line 11,in exec_module
File "site-packages\scipy\stats\_continuous_distns.py",line 21,in <module>
File "_stats.pyx",line 1,in init scipy.stats._stats
ModuleNotFoundError: No module named 'scipy.special.cython_special'
[8768] Failed to execute script file1
在file1.py中,在行号为import的语句。根据上面显示的运行时错误,第19个是:
from sklearn.metrics import mean_squared_error
我尝试升级/降级scikit-learn的版本号,但是.exe甚至没有在源系统中运行。
我在这里做错什么了吗?
更新:我尝试将scipy版本从1.5.2更改为1.4.1,如下所示:
pip install scipy==1.4.1 --force-reinstall
在那之后,我用PyInstaller重新构建了python文件。 .exe这次也在源系统中运行。
Traceback (most recent call last):
File "file1.py",line 75,in exec_module
File "site-packages\sklearn\utils\_show_versions.py",line 12,in <module>
ImportError: DLL load Failed: The specified module Could not be found.
[4372] Failed to execute script file1
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)