在C++中想调用python ,在导入python 的时候,遇到了问题,一直没解决。
Py_Initialize();
std::cout << "Importing Deeplab V3 ..." << std::endl;
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.append('../python/')");
PyObject *py_module =NULL,*py_class=NULL,*net=NULL;
// 导入deeplab.py module
// 2021.03.05 发现 matplotlib.pyplot 导入会出错
py_module = PyImport_ImportModule("hello");
if (!py_module)
{
cout << "Python get module failed." << endl;
return 0;
}
下面是我的hello.py 文件
import sys
import numpy as np
import tensorflow as tf
from PIL import Image,ImageDraw
imagefile="2.jpg"
im = Image.open('2.jpg').convert('RGBA')
发现在执行 im = Image.open(‘2.jpg’).convert(‘RGBA’) 的时候会出错。我的路径应该是对的,现在不知道该怎么办了。。。。。。求大神解决
错误是下面这行代码导入不成功:
py_module = PyImport_ImportModule("hello");
错误是导入python 文件一直不成功!
已解决:
C++ 调用 pthon 的时候,使用的pyhton 文件的路径也是C++ 的路径 ,所以建议你在python 读取文件的时候,使用绝对路径