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

一、安装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 
#include 
#include 
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

修改前:
安装python3.5并在QT中配置使用_第1张图片
修改后:
安装python3.5并在QT中配置使用_第2张图片

错误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: ,

File "D:\Anaconda3\Lib\threading.py", line 1289, in _shutdown

assert tlock.locked()

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

你可能感兴趣的:(项目中的问题)