【发布时间】:2017-08-13 18:33:02
【问题描述】:
我正在尝试 boost-python。但是,即使是简单的 hello world 也行不通。
#define BOOST_PYTHON_STATIC_LIB
#include <boost/python/detail/wrap_python.hpp>
#include "numpy/arrayobject.h"
#include <boost/python.hpp>
void init_numpy()
{
import_array();
}
int main()
{
Py_Intialize();
init_numpy();
}
报错
ImportError: numpy.core.multiarray 导入失败
但是如果我打开我的 IPython 并运行 import numpy.core.multiarray,它运行良好。我在哪里磨损?
【问题讨论】:
-
什么时候出现错误?在编译时间?
-
@Kochoba 不太可能,这是 Python 运行时的错误。
-
很可能可执行文件使用的 Python 环境与 IPython 中使用的环境不同,因此 numpy 不可用。
-
@DanMašek,你认为原因是什么?我比较了可执行文件中的
sys.path,C:\\Anaconda2\\lib\\site-packages在两个路径中。
标签: c++ numpy boost-python python-embedding