用boost python嵌入python导入错误

时间:2014-02-06 06:12:29

标签: c++ boost-python

我有以下代码

#include <boost/python.hpp>

int main()
{
    Py_Initialize();
    namespace python = boost::python;
    try {
        python::object main = python::import("sample");
    } catch(...) {
        PyErr_Print();
        PyErr_Clear();
    }
}

我收到以下错误:

ImportError: No module named sample

我将sample.py放在与此程序相同的目录中。

1 个答案:

答案 0 :(得分:4)

这是因为python :: import没有在当前目录中查找。我知道有两种解决方法:

设置PYTHONPATH以查看当前目录(linux):

export PYTHONPATH=`pwd`:$PYTHONPATH

...或

在代码中设置python搜索模块路径(它还提供了有关您发现的问题的更好解释): How does import work with Boost.Python from inside python files