【问题标题】:can not import numpy in boost-python无法在 boost-python 中导入 numpy
【发布时间】: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.pathC:\\Anaconda2\\lib\\site-packages 在两个路径中。

标签: c++ numpy boost-python python-embedding


【解决方案1】:

我通过意识到我的Windows上的Anaconda2在安装过程中没有注册来解决这个问题(即使sys.path与IPython中的相同),我卸载它并重新安装它,在安装过程中我选择在windows,现在我的代码工作正常。

【讨论】:

    猜你喜欢
    • 2010-11-19
    • 2016-09-18
    • 1970-01-01
    • 1970-01-01
    • 2020-02-08
    • 2018-12-05
    • 2017-07-08
    • 2018-06-02
    • 2023-01-26
    相关资源
    最近更新 更多