【发布时间】:2019-02-19 05:12:40
【问题描述】:
我正在使用 anaconda 来维护 python 虚拟环境。我有一个 python 模块,我想从通过 xcode 9.2 开发的 c++ 应用程序调用它。
pModule = PyImport_Import(pName) 在 C++ 应用程序中失败并出现错误
ImportError: numpy.core.multiarray failed to import.
pName 这里指的是一个模块xyz.py。 xyz 的 __init__.py 导入 cv2,而后者又使用 from .cv2 import *。这失败并出现错误“numpy.core.multiarray 无法导入”。 opencv 和 numpy 的软件包安装在相同的虚拟环境中,仍然无法导入 numpy 的 core.multiarray 模块。
对我来说,这似乎不是路径问题,因为我使用 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 时,路径 python3.5/site-packages 中存在 cv2 和 numpy。
【问题讨论】:
标签: python c++ numpy anaconda virtualenv