我有以下代码
#include <boost/python.hpp>
int main()
{
Py_Initialize();
namespace python = boost::python;
try {
python::object main = python::import("sample");
} catch(...) {
PyErr_Print();
PyErr_Clear();
}
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
ImportError: No module named sample
Run Code Online (Sandbox Code Playgroud)
我将我的 sample.py 放在与该程序相同的目录中。
这是因为 python::import 没有在当前目录中查找。我知道两种解决方法:
设置 PYTHONPATH 以查看当前目录 (linux):
export PYTHONPATH=`pwd`:$PYTHONPATH
Run Code Online (Sandbox Code Playgroud)
或者...
在您的代码中设置 python 搜索模块路径(它还提供了关于您发现的问题的更好解释): How do does import work with Boost.Python from inside python files
| 归档时间: |
|
| 查看次数: |
783 次 |
| 最近记录: |