小编use*_*003的帖子

在c中嵌入python时,Numpy导入失败

我正在尝试将python程序嵌入到c ++代码中.我遇到的问题是使用包含numpy导入的python脚本.例如,如果我使用以下c ++代码

#include <Python.h>
int main(int argc,char *argv[])
{
double 
    x=2.,
    xp=4.,
    dt=6.,
    y=8,
    yp=1,
    dz=6;
Py_Initialize();

PyObject* myModuleString = PyString_FromString((char*)"log");
PyObject* myModule = PyImport_Import(myModuleString);


PyObject* myFunction = PyObject_GetAttrString(myModule,(char*)"derive");
PyObject* args = PyTuple_Pack(  6,
PyFloat_FromDouble(x),
PyFloat_FromDouble(xp),
PyFloat_FromDouble(dt),
PyFloat_FromDouble(y),
PyFloat_FromDouble(yp),
PyFloat_FromDouble(dz));

PyObject* myResult = PyObject_CallObject(myFunction, args);

PyObject *ts= PyTuple_GetItem(myResult,0);
PyObject *zs= PyTuple_GetItem(myResult,1);
double result_t = PyFloat_AsDouble(ts);
double result_z = PyFloat_AsDouble(zs);
printf("%3f \n %f \n", result_t,result_z);

Py_Finalize();

system("pause");

return 0;
}
Run Code Online (Sandbox Code Playgroud)

使用包含该函数的以下log.py脚本 derive

def derive(x,xp,dt,y,yp,dz):
return log(abs(x - xp)/dt),exp((y-yp)/dz)
Run Code Online (Sandbox Code Playgroud)

它运行正常,但如果log.py包含from …

c++ python embed numpy

6
推荐指数
1
解决办法
1473
查看次数

标签 统计

c++ ×1

embed ×1

numpy ×1

python ×1