c++ - 在嵌入式 Python C++ 应用程序中导入 Numpy

标签 c++ python-3.x python-embedding

我想让一个脚本从 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/

相关文章:

c++ - 是否有 WinZip 的环境变量或等效变量?

c++ - 重载运算符 : const vs non-const return type : any difference of performance?

python - 求值允许其运算符为复合表达式的组合

python - 如何使用 OCR 有效地从 PDF 文件目录中提取文本?

python - 如何线程化两个函数,其中一个输出影响其他操作

python - 在 python 模块中导入子模块时 PyImport_Import 失败

c++ - 如何阻止 GL_Points 删除 GL_line_loop 创建的线

c# - 如何确保可以加载 auth.dll?

python - 将 Python 结构解析为 PyObject

python - 在嵌入式 Python 中禁用内置模块导入