我想通过传递数组数据从c++调用python函数(c++到python函数)
为此,我使用boostpython和boostnumpy。在
我试过各种方法,但还是有问题。
我遇到错误消息,“py_state”未定义。在
你能告诉我你的建议吗。在
p::exec(“act=探员,行动起来(py_state)”,主\u命名空间
错误--------
最近一次调用(回溯):
文件“”,第1行,输入
名称错误:未定义名称“py_state”
c++代码int main()
{
setenv("PYTHONPATH", ".", 1);
Py_Initialize();
np::initialize();
PyRun_SimpleString("#-*- coding: utf-8 -*-");
p::object main_module = p::import("__main__");
p::object main_namespace = main_module.attr("__dict__");
p::object print = p::import("__main__").attr("__builtins__").attr("print");
p::exec("import sys", main_namespace);
p::exec("import neural_net as nn", main_namespace);
..... c++ code
p::exec("agent = nn.neural_net(22,3)", main_namespace);
np::ndarray py_state = np::from_data(input_state, np::dtype::get_builtin(), p::make_tuple(22), p::make_tuple(sizeof(double)), p::object());
p::object temp_stat = py_state;
print(py_state);
p::exec("act = agent.get_action(py_state)", main_namespace);
^^^^^^^^^^ Here is error
}
Pythion代码(仅供参考)
^{pr2}$