在使用嵌入到我的C++应用程序(32位)中并静态链接的Python2.7访问numpy时,我遇到了一个问题。在我的应用程序可执行文件下,我已经将python27.dll和包含所有需要的DLL的Python27目录放在一起。我还在一个单独的文件夹(C:\Python27)中安装了Python2.7和numpy (均为32位)。当我运行我的应用程序并尝试导入numpy时,我收到以下错误:
Traceback (most recent call last):
File "pytest", line 1, in <module>
File "C:\Python27\lib\site-packages\numpy\__init__.py", line 137, in <module>
import add_newdocs
File "C:\Python27\lib\site-packages\numpy\add_newdocs.py", line 9, in <module>
from numpy.lib import add_newdoc
File "C:\Python27\lib\site-packages\numpy\lib\__init__.py", line 4, in <module>
from type_check import *
File "C:\Python27\lib\site-packages\numpy\lib\type_check.py", line 8, in <module>
import numpy.core.numeric as _nx
File "C:\Python27\lib\site-packages\numpy\core\__init__.py", line 5, in <module>
import multiarray
ImportError: DLL load failed: The specified module could not be found.
当我从应用程序文件夹中删除python27.dll时,我就可以导入numpy了。当客户端想要导入任何Python第三方库时,我不能要求客户端手动删除python27.dll ...有谁有办法解决这个问题吗?这个多阵列模块是怎么回事?
发布于 2013-01-12 01:44:50
好了,问题解决了。嵌入式应用程序文件夹下的python27.dll文件必须与Python 2.7版本相同。验证日期以确保它们相同。如果它们不相同,您可能会遇到各种问题。
My Application Folder
myApp.exe
python27.dll <-- must be the same as Python installed on your machine
Python27 Folder
DLL
Libs
https://stackoverflow.com/questions/14281727
复制相似问题