Python导入错误: DLL load failed: The specified module could not be found on fman build system (fbs)

标签 python python-3.6 pyinstaller fbs

当我尝试使用 fman 构建系统 (fbs) 将 python 脚本转换为 EXE 时遇到错误。当我尝试在虚拟环境中的 cmd 中运行 Python 3.6 上的程序时,发生了此错误。

我正在使用 Python 3.6 和 pyinstaller 3.4。以下是我使用的库的列表。

altgraph (0.17)
cycler (0.10.0)
fbs (0.8.4)
future (0.18.2)
joblib (0.14.1)
kiwisolver (1.1.0)
macholib (1.14)
matplotlib (3.1.2)
numpy (1.18.1)
opencv-contrib-python (4.1.2.30)
opencv-python (4.1.2.30)
pefile (2019.4.18)
pip (9.0.1)
PyInstaller (3.4)
pyparsing (2.4.6)
PyQt5 (5.9.2)
python-dateutil (2.8.1)
pywin32-ctypes (0.2.0)
scikit-learn (0.22.1)
scipy (1.4.1)
setuptools (39.1.0)
sip (4.19.8)
six (1.14.0)
webcolors (1.10)

以下是我收到的错误:

(venv) D:\Skripsi\ColorHarmonization-master\target\ColorHarmonization>ColorHarmonization.exe
d:\skripsi\colorharmonization-master\venv\lib\site-packages\PyInstaller\loader\pyimod03_importers.py:627: MatplotlibDeprecationWarning:
The MATPLOTLIBDATA environment variable was deprecated in Matplotlib 3.1 and will be removed in 3.3.
  exec(bytecode, module.__dict__)
Traceback (most recent call last):
  File "main.py", line 7, in <module>
  File "d:\skripsi\colorharmonization-master\venv\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
    exec(bytecode, module.__dict__)
  File "util.py", line 8, in <module>
  File "d:\skripsi\colorharmonization-master\venv\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
    exec(bytecode, module.__dict__)
  File "lib\site-packages\sklearn\__init__.py", line 82, in <module>
  File "d:\skripsi\colorharmonization-master\venv\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
    exec(bytecode, module.__dict__)
  File "lib\site-packages\sklearn\base.py", line 20, in <module>
  File "d:\skripsi\colorharmonization-master\venv\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
    exec(bytecode, module.__dict__)
  File "lib\site-packages\sklearn\utils\__init__.py", line 27, in <module>
  File "d:\skripsi\colorharmonization-master\venv\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
    exec(bytecode, module.__dict__)
  File "lib\site-packages\sklearn\utils\fixes.py", line 18, in <module>
  File "d:\skripsi\colorharmonization-master\venv\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
    exec(bytecode, module.__dict__)
  File "lib\site-packages\scipy\stats\__init__.py", line 384, in <module>
  File "d:\skripsi\colorharmonization-master\venv\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
    exec(bytecode, module.__dict__)
  File "lib\site-packages\scipy\stats\stats.py", line 179, in <module>
  File "d:\skripsi\colorharmonization-master\venv\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
    exec(bytecode, module.__dict__)
  File "lib\site-packages\scipy\spatial\__init__.py", line 102, in <module>
  File "d:\skripsi\colorharmonization-master\venv\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
    exec(bytecode, module.__dict__)
  File "lib\site-packages\scipy\spatial\_procrustes.py", line 11, in <module>
  File "d:\skripsi\colorharmonization-master\venv\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
    exec(bytecode, module.__dict__)
  File "lib\site-packages\scipy\linalg\__init__.py", line 195, in <module>
  File "d:\skripsi\colorharmonization-master\venv\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
    exec(bytecode, module.__dict__)
  File "lib\site-packages\scipy\linalg\misc.py", line 5, in <module>
  File "d:\skripsi\colorharmonization-master\venv\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
    exec(bytecode, module.__dict__)
  File "lib\site-packages\scipy\linalg\blas.py", line 215, in <module>
ImportError: DLL load failed: The specified module could not be found.
[14240] Failed to execute script main

最佳答案

使用 PyInstaller 3.4,可能无法正确加载 scipy 的某些动态库,因为它们的位置已更改为不同的目录,即在 site-packages/scipy/.libs 下

您需要编辑PyInstaller/hooks/hook-scipy.py文件,以便在site-packages/scipy/.libs下搜索库

可以找到修复方法 here 您可以从 github 获取最新文件

如果您的应用程序也依赖于 numpy 模块,您可能还需要编辑 PyInstaller/hooks/hook-numpy.py

关于Python导入错误: DLL load failed: The specified module could not be found on fman build system (fbs),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60023224/

相关文章:

python - pyodbc autocommit 似乎不适用于 sybase 和 sqlalchemy

python - 在 Google 云存储桶中使用 PIL 更改图像大小(从 GCloud 中的虚拟机)

linux - 如何为Redhat 5.8/CentOS 5编译python3.6程序?

python - 使用 pyinstaller 问题编译 Windows 服务

python - Django中的项目名称与应用程序名称

python - 不支持身份验证插件 'caching_sha2_password'

python - 无法通过 epel-release 安装 python36,找不到包 python36

python-3.6 - mkvirtualenv 在 Raspbian Buster 上为非默认 python 制作 venv 时说 "no module named distutils.spawn"

python - 收集两列数据

python - PyInstaller 的问题