pyinstaller打包生成软件运行时出现缺少模块cython_blas的错误(总结就是缺少依赖文件pyd,注意命名规则)
2016-11-17 17:28
1526 查看
关键点是找到缺失的依赖文件pyd,以及命名方式。加油!
问题描述:
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
相关文章推荐
- python打包生成的exe文件运行时提示缺少模块
- py2exe打包包含wmi模块的脚本后,运行时出现win32api.pyd错误的解决办法。
- cxfreeze打包工程文件生成.exe,运行exe出现闪退问题,相关解决办法总结
- python打包生成的exe文件运行时提示缺少模块的解决方法
- Android开发中出现cannot be resolved to a variable错误,也就是R文件不能生成。
- 包含别人的dll,然后我们用类库再次封装成dll的时候的注意事项;源文件与模块生成时的文件不同;创建调试信息文件 ··PDB时发生意外的错误,进程无法访问文件,因为另一个程序正在使用此文件
- Mac下使用PyInstaller打包PyQt5文件后运行应用程序出现闪退的解决方案
- VS2010 打包生成exe文件后 运行安装文件出现 TODO:<文件说明>已停止工作并已关闭
- 生成的exe文件在别的电脑上运行出现缺少dll文件或一闪而过
- xcode8以上,CoreData生成对象文件运行出现文件编译错误
- jar 打包java class文件后,运行jar 出现 Failed to load Main-Class manifest attribute from 错误
- ubuntu安装软件时出现,无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系
- Ubuntu 安装软件出现如下错误:无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
- MALTAB用mcc生成exe文件后,运行时出现错误提示:未定义arx、aic函数(matlab自带的库函数)
- VS2010中程序编译生成都是正确的,直接生成的exe也是正确的,就是在VS中运行出现错误
- 在引用KindEditor编辑器时,运行时出现以下错误:错误46 找不到类型或命名空间名称“LitJson”(是否缺少 using 指令或程序集引用?)
- pyinstaller打包py文件成exe文件时,出现ImportError: No module named 'pefile'错误解决办法!
- 运行matlab生成的exe文件是,出现“提示找不到mclmcrrt70.dll”的错误
- VS2010中程序编译生成都是正确的,直接生成的exe也是正确的,就是在VS中运行出现错误
- asp.net 程序打包出现"不可生成的错误"