pyinstaller打包生成軟件運行時出現缺少模塊cython_blas的錯誤


問題描述:

Traceback (most recent call last):
  File "<string>", line 22, in <module>
  File "d:\anaconda\lib\site-packages\PyInstaller-3.0-py2.7.egg\PyInstaller\load
er\pyimod03_importers.py", line 363, in load_module
    exec(bytecode, module.__dict__)
  File "E:\Documents\WFLayout_Neimeng\WFLayout\src\windFarmLayout.py", line 17,
in <module>
    import calculate_power
  File "d:\anaconda\lib\site-packages\PyInstaller-3.0-py2.7.egg\PyInstaller\load
er\pyimod03_importers.py", line 363, in load_module
    exec(bytecode, module.__dict__)
  File "E:\Documents\WFLayout_Neimeng\WFLayout\src\calculate_power.py", line 10,
in <module>
    import wake_model
  File "d:\anaconda\lib\site-packages\PyInstaller-3.0-py2.7.egg\PyInstaller\load
er\pyimod03_importers.py", line 363, in load_module
    exec(bytecode, module.__dict__)
  File "E:\Documents\WFLayout_Neimeng\WFLayout\src\wake_model.py", line 12, in <
module>
    from scipy import interpolate
  File "d:\anaconda\lib\site-packages\PyInstaller-3.0-py2.7.egg\PyInstaller\load
er\pyimod03_importers.py", line 363, in load_module
    exec(bytecode, module.__dict__)
  File "d:\Anaconda\lib\site-packages\scipy\interpolate\__init__.py", line 145,
in <module>
    from .interpolate import *
  File "d:\anaconda\lib\site-packages\PyInstaller-3.0-py2.7.egg\PyInstaller\load
er\pyimod03_importers.py", line 363, in load_module
    exec(bytecode, module.__dict__)
  File "d:\Anaconda\lib\site-packages\scipy\interpolate\interpolate.py", line 15
, in <module>
    import scipy.linalg
  File "d:\anaconda\lib\site-packages\PyInstaller-3.0-py2.7.egg\PyInstaller\load
er\pyimod03_importers.py", line 363, in load_module
    exec(bytecode, module.__dict__)
  File "d:\Anaconda\lib\site-packages\scipy\linalg\__init__.py", line 188, in <m
odule>
    from ._decomp_update import *
  File "d:\anaconda\lib\site-packages\PyInstaller-3.0-py2.7.egg\PyInstaller\load
er\pyimod03_importers.py", line 517, in load_module
    module = imp.load_module(fullname, fp, filename, ext_tuple)
  File "scipy\linalg\_decomp_update.pyx", line 1, in init scipy.linalg._decomp_u
pdate (scipy\linalg\_decomp_update.c:35835)
ImportError: No module named cython_blas
start_ga_wfLayout returned –1

start_ga_wfLayout是打包生成的exe文件名稱。上面顯示在執行start_ga_wfLayout時找不到模塊cython_blas.

使用的軟件版本是:pyinstaller 3.0 + anaconda 2.3.0

問題分析:

根據提示找到目錄:D:\Anaconda\Lib\site-packages\scipy\linalg

發現里面既有_decomp_update.pyd,也有cython_blas.pyd,同時在打包生成的dist\start_ga_wfLayout目錄下存在scipy.linalg._decomp_update.pyd,這說明問題出現在pyinstaller打包過程中:沒有將cython_blas.pyd打包。

如果直接將cython_blas.pyd拷貝到打包目錄下,問題仍然存在。

解決方法:

根據scipy.linalg._decomp_update.pyd的命名規則,應該將cython_blas.pyd修改成scipy.linalg.cython_blas.pyd

命名規則可以參考python packages,如sound/effects/echo.py引用方法:import sound.effects.echo


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM