安装python3.5并在QT中配置使用

    xiaoxiao2022-07-04  165

    一、安装32位的python3.5及各种库

    链接:https://pan.baidu.com/s/1q94_Vo3XDhfZ_hmssPjz6w 提取码:zotf

      先在dos环境下输入python,如果显示版本则表示python安装成功,安装库文件的时候,在dos环境下进入whl文件所在的目录,然后使用pip install ***-whl。如果提示pip版本过低,则按照提示更新pip。

    二、在QT中配置python遇到的问题

    #include <QCoreApplication> #include <Python.h> #include <iostream> using namespace std; int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); Py_Initialize(); if ( !Py_IsInitialized() ) { qDebug() << -1; } PyObject* pModule = PyImport_ImportModule("test"); // test.py if (!pModule) { qDebug() << "Cant open python file!\n"; } Py_Finalize(); return a.exec(); }

      qmake, 然后构建,最后运行(每次修改一处错误,都要执行这个步骤)。

    错误1:找不到Python.h

      解决办法: 在.pro文件中添加python的头文件以及静态链接库。

    LIBS += -L F:/Python3.5-32/libs -lpython35 INCLUDEPATH += -I F:/Python3.5-32/include

    错误2:调用Python Py_Initialize 出错

      原因:归根结底 你需要你的QT的位数和python的位数一样。

      QT 5.8 32位 MinGw。

      python 3.5.2 32位。

    错误3:error: C2238: 意外的标记位于“;”之前

      在python的object.h中 slots冲突,因此修改object.h,我的object.h路径:

    F:\Python3.5-32\include\object.h

    修改前: 修改后:

    错误4:运行时候出现,“cant open python file!”

      出现这个错误的原因是: 成的exe文件和test_py.py文件不在同一个文件夹里,只要手动将test_py.py拷贝到exe文件同级目录下即可。

    错误5:Exception ignored in: module ‘threading’ from 'xxx:\Anaconda3\Lib\threading.py’

      在QT下进行Python程序的调用,然后出现了一个线程的错误,如下:

    Exception ignored in: <module 'threading' from 'xxx:\\Anaconda3\\Lib\\threading.py'>, File "D:\Anaconda3\Lib\threading.py", line 1289, in _shutdown assert tlock.locked()

      然后找到打开threading.py文件,文件中说明的大概意思是Python脚本运行的时间太长了,从而耽误了C的程序的运行。我遇到的问题是在读取文件里路径出错,导致出现了这个问题,检查程序即可。

    最新回复(0)