UBUNTU16 Qt中 C++调用Python import cv2时出错,求大佬解答
环境
- Ubuntu16.04
- anaconda2虚拟环境里使用的 Python3.6
- Qt5.6
- OpenCV 3.4
代码
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.append('./')");
PyRun_SimpleString("sys.path.append('/home/wanghao/MyQtSpace/QT_diaoyong')");
PyRun_SimpleString("sys.path.append('/home/wanghao/anaconda2/envs/yolo/lib/python3.6/site-packages')");
PyRun_SimpleString("sys.path.append('/usr/local/')");
PyRun_SimpleString("import numpy");
PyRun_SimpleString("import cv2");// 每次到这里就爆炸了
// PyRun_SimpleString("import matplotlib");
importArray();
pyArray = NULL; //
argArray= NULL; //
m_pFunc_Detect= NULL; //
singleResult= NULL; //
pModule= NULL; //
pModule=PyImport_ImportModule("result_test"); //import py文件
PyErr_Print();
m_pFunc_Detect = PyObject_GetAttrString(pModule, "test");
PyErr_Print();
QMessageBox::about(NULL, "", "环境加载成功");
C++、Python混合编程需要初始化这些东西,但每次到
PyRun_SimpleString("import cv2");
接着问题就来了:
尝试过的解决方法:
1. 改变 Opencv 版本,尝试过的版本:
- Opencv2.4.9
- Opencv3.0.0
- Opencv3.0.0
- Opencv3.1.0
- Opencv3.2.0
- Opencv3.3.0
- Opencv3.4.0
- Opencv4.0.0
然鹅并不行!!!
2. 改变python版本
用UBUNTU自带的Python2,是不会报错的,但是Python3会报错.
肿么办,我枯了