У меня проблема при доступе к numpy с Python 2.7, встроенным в мое приложение C ++ (32-битное) и статически связанным. Под моим исполняемым файлом приложения я поместил python27.dll вместе с каталогом Python27 со всеми необходимыми DLL. Я также установил Python 2.7 и numpy (все 32-битные) в отдельную папку (C: \ Python27). Когда я запускаю свое приложение и пытаюсь импортировать 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. Я не могу попросить клиента вручную удалить python27.dll, когда он хочет импортировать какую-либо стороннюю библиотеку Python … у кого-нибудь есть идеи, как мне это исправить? Что случилось с этим модулем с несколькими массивами?
Хорошо, проблема решена. Файл 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
Других решений пока нет …