我在使用嵌入到我的C ++应用程序(32位)和静态链接的Python 2.7访问numpy时遇到了问题。在我的应用程序可执行文件中,我已经将python27.dll与Python27目录一起放在了所有需要的DLL中。我还在一个单独的文件夹(C:\ Python27)中安装了Python 2.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 ...任何人都有关于如何解决这个问题的想法?这个多阵列模块有什么用?
答案 0 :(得分:2)
好的,问题解决了。嵌入式应用程序文件夹下的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