【问题标题】:Error when executing compiled file " No module named 'scipy._lib.messagestream' "after using pyinstaller使用 pyinstaller 后执行编译文件“No module named 'scipy._lib.messagestream'”时出错
【发布时间】:2017-11-01 13:13:56
【问题描述】:

在从 python 2.7 升级到 3.6 并同时迁移到 scipy 1.0.0 之后,我正在尝试使用 pyinstaller 编译我们的代码 https://bitbucket.org/OES_muni/massiveoes。我正在使用 64 位 win7 机器。程序本身运行良好,pyinstaller 运行没有错误,但是当我尝试运行构建 exe 文件时,它给了我这个错误:

Traceback (most recent call last):   File "massiveOES\GUI.py", line 23, in <module>   File "c:\users\petr\envs\py1\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
    exec(bytecode, module.__dict__)   File "massiveOES\__init__.py", line 1, in <module>   File "c:\users\petr\envs\py1\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
    exec(bytecode, module.__dict__)   File "massiveOES\FHRSpectra.py", line 1, in <module>   File "c:\users\petr\envs\py1\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
    exec(bytecode, module.__dict__)   File "massiveOES\spectrum.py", line 3, in <module>   File "c:\users\petr\envs\py1\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
    exec(bytecode, module.__dict__)   File "site-packages\scipy\optimize\__init__.py", line 241, in <module>   File "c:\users\petr\envs\py1\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
    exec(bytecode, module.__dict__)   File "site-packages\scipy\optimize\_minimize.py", line 28, in <module>   File "c:\users\petr\envs\py1\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
    exec(bytecode, module.__dict__)   File "site-packages\scipy\optimize\_trustregion_krylov.py", line 2, in <module>   File "c:\users\petr\envs\py1\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
    exec(bytecode, module.__dict__)   File "site-packages\scipy\optimize\_trlib\__init__.py", line 1, in <module> File "c:\users\petr\envs\py1\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 714, in load_module
    module = loader.load_module(fullname)   File "messagestream.pxd", line 5, in init scipy.optimize._trlib._trlib ModuleNotFoundError: No module named 'scipy._lib.messagestream' [2128] Failed to execute script GUI

【问题讨论】:

标签: python scipy pyinstaller


【解决方案1】:

好的,以下解决了我的直接问题:编辑 pyinstaller .spec 文件以使用 Scipy 添加以下隐藏导入:

 hiddenimports=['scipy._lib.messagestream']

请参阅my question 了解更多信息。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-30
  • 2011-10-19
  • 2017-11-04
  • 2016-08-09
  • 2022-08-23
  • 1970-01-01
相关资源
最近更新 更多