执行编译文件时出错使用 pyinstaller 后没有名为“scipy._lib.messagestream"的模块 [英] Error when executing compiled file " No module named 'scipy._lib.messagestream' "after using pyinstaller

查看:105
本文介绍了执行编译文件时出错使用 pyinstaller 后没有名为“scipy._lib.messagestream"的模块的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

i am trying to complile our code https://bitbucket.org/OES_muni/massiveoes using pyinstaller after upgrading from python 2.7 to 3.6 and moving to scipy 1.0.0 at same time. I am working on 64bit win7 machine. The program itself runs fine, pyinstaller runs without errors but when i try to run the build exe file it gives me this error:

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

推荐答案

好的,以下为我解决了眼前的问题:编辑 pyinstaller .spec 文件以添加以下带有 Scipy:

OK, the following solved the immediate issue for me: edit the pyinstaller .spec file to add the following hidden import with Scipy:

 hiddenimports=['scipy._lib.messagestream']

我的问题 更多.

这篇关于执行编译文件时出错使用 pyinstaller 后没有名为“scipy._lib.messagestream"的模块的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆