相关疑难解决方法(0)

如何从python文件中导入Boost.Python

我正在使用Boost.Python在我的C++可执行文件中嵌入一个解释器并执行一些预先编写的脚本.我有它的工作,所以我可以调用python文件中的函数,但我想使用的python代码导入外部文件,这些导入失败,因为'没有名为'的模块.如果我直接从python运行脚本,一切都按预期工作.

所以我的问题是在通过C++绑定运行的python脚本中导入模块的正确方法是什么?

C++代码:

#include "boost/python.hpp"

int main(int argc, char** argv)
{
  try
  {
    Py_Initialize();
    boost::python::object test = boost::python::import("__main__");
    boost::python::object testDict = test.attr("__dict__");
    boost::python::exec_file("test.py", testDict, testDict);

  }
  catch(boost::python::error_already_set& e)
  {
    PyErr_Print();
  }
return 0;

}
Run Code Online (Sandbox Code Playgroud)

Python代码:

import ModuleX
Run Code Online (Sandbox Code Playgroud)

c++ python import boost boost-python

7
推荐指数
1
解决办法
3922
查看次数

标签 统计

boost ×1

boost-python ×1

c++ ×1

import ×1

python ×1