我想让一个脚本从 C++ 嵌入式 python 运行时调用 numpy,方法是设置运行时路径以了解位于站点包中的 numpy 模块。
但是我得到了错误:
cannot import name 'multiarray'
从\Lib\site-packages\numpy\core__init_.py就行了
from . import multiarrray
我已经尝试将 os.path 设置为 xxx\numpy\core 但在导入语句期间它似乎仍然找不到 multiarray.pyd 文件
我已经通读了类似的问题,但似乎没有一个答案与我的情况相关。
我正在使用 Python 3.4.4(32 位)并使用滚轮安装了 Numpy 1.11.1 numpy-1.11.1-cp34-none-win32.whl
python -m pip install numpy-1.11.1-cp34-none-win32.whl
已完成,没有任何错误。
似乎失败消息可能是more general不仅仅是一个不完整的 PYTHONPATH?
还认为它可能比 Numpy 更广泛,因为从嵌入式环境导入的任何基于 .pyd 的包都会有这个问题?
感谢任何帮助。
最佳答案
您是否确保所有 NumPy 包括:\numpy\core\include\numpy\在构建过程中都存在?那是我唯一一次遇到这些类型的错误是如果构建找不到所有 NumPy 包含...尽管在嵌入过程中我发现 numpy
整个目录(已经构建在您的构建机器上)必须位于 Py_SetPath(python35.lib;importlibs);
下的目录中,假设 importlibs 是一个包含 NumPy 的目录以及您想要捆绑的任何其他内容。
关于c++ - 在嵌入式 Python C++ 应用程序中导入 Numpy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38057043/