Я использую anaconda для поддержки виртуальной среды Python.У меня есть модуль Python, который я хочу вызвать из приложения C ++, разработанного с помощью Xcode 9.2.
pModule = PyImport_Import(pName)
не удается в приложении C ++ с ошибкой
ImportError: numpy.core.multiarray failed to import.
pName
здесь относится к модулюxyz.py
.__init__.py
xyz импортирует cv2, который в свою очередь использует from .cv2 import *
.Это завершается с ошибкой «numpy.core.multiarray не удалось импортировать».Пакеты для opencv и numpy установлены в той же виртуальной среде, но он не может импортировать модуль core.multiarray от numpy.
Мне кажется, это не проблема пути, так как я использую PySys_SetPath для установки путитам, где установлены пакеты, путь выглядит как anaconda/envs/XYZ/lib/python3.5/site-packages
.
Чтобы добавить больше информации, модуль xyz, который я использую, предназначен для обнаружения объектов, а точнее - его модуля обнаружения объектов imageAI.Таким образом, в python3.5 / site-packages у меня есть модуль обнаружения imageai (python3.5 / site-packages / imageai / Detection /).В Обнаружении есть init .py, который пытается импортировать cv2.Полученная ошибка: cv2 пытается импортировать numpy.core.multiarray, и cv2, и numpy существуют в пути python3.5 / site-packages.