QProcess calling python script



  • I'm trying to launch a python script from a QT project using QProcess and It appears I keep getting an error saying

    Error:

    Debugging starts
    Python error: "ImportError: No module named site\r\n"  
    Python result= ""
    Debugging has finished
    

    However I've broken this down to such a simple project. I am completely dumb-founded on why this is happening. I've search for a few hours here online and found some links on SO suggesting i set env paths, which didn't help at either. Any help would be appreciated.

    Here are my project files and specs:

    • Local Python Install: 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:19:22) [MSC v.1500 32 bit (Intel)]
    • list itemComputer: Windows 7 Pro
    • list itemQt Creator 4.2: Building with Desktop Qt 5.7.1 MinGW 32 Bit

    pythonTest.py:
    This is the python file that the QT project should be calling

    print('hello world')
    

    mainwindow.cpp:
    I simply created a new project add here is the mainwindow.cpp code

    #include "mainwindow.h"
    #include "ui_mainwindow.h"
    #include <QProcess>
    #include <QDebug>
    
    MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
    {
        ui->setupUi(this);
    }
    
    MainWindow::~MainWindow()
    {
        delete ui;
    }
    
    void MainWindow::on_pushButton_clicked()
    {
        QProcess p;
        QStringList params;
        QString pythonPath = "C:/Python27/python.exe";
        QString pythonScript = "C:/Users/Martini/Desktop/trash/pythonTest.py";
    
        params << pythonScript;
        p.start(pythonPath, params);
        p.waitForFinished(-1);
        QString p_stdout = p.readAll();
        QString p_stderr = p.readAllStandardError();
        if(!p_stderr.isEmpty())
           qDebug()<<"Python error:"<<p_stderr;
        qDebug()<<"Python result="<<p_stdout;
    }
    

  • Lifetime Qt Champion

    Hi,

    Did you check whether the environment variables like PYTHONPATH are properly set ?


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.