2016-11-17 7 views
0

私はPythonで書かれたスクリプトを実行し、そのすべての出力を取得したいと思います。 これは私が「ピングgoogle.com」に「Pythonのscript.py」を変更したときに奇妙なことは、それが魅力のように働いているされて私のCPPコードQTでPythonスクリプトから出力を取得

QProcess process; 
process.setProcessChannelMode(QProcess::MergedChannels); 
QString exe = "python script.py"; 
process.start(exe); 
process.waitForFinished(-1); 
QString output(process.readAllStandardOutput()); 

qDebug() << output << endl; 

と私のscript.py

import sys 
print("Hello world!") 

です。私はcmdでもチェックしましたが、Pythonのインストールもうまくいくようです。 どこが間違っているのですか?

[EDIT 1] は、あなたがあなたのPATH環境変数を修正する必要がある%のPATH%を

C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Windows\system32\config\systemprofile\.dnx\bin;C:\Program Files\Microsoft DNX\Dnvm\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files (x86)\Skype\Phone\;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files (x86)\GtkSharp\2.12\bin;C:\Program Files\nodejs\;C:\Program Files\Git\cmd;C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\;C:\Users\Micha\AppData\Local\Programs\Python\Python35-32\Scripts\;C:\Users\Micha\AppData\Local\Programs\Python\Python35-32\;C:\NVPACK\gradle-2.9\bin;C:\NVPACK\apache-ant-1.8.2\bin;C:\NVPACK\jdk1.8.0_77\bin;C:\NVPACK\android-ndk-r12b;C:\NVPACK\android-sdk-windows\extras\android\support;C:\NVPACK\android-sdk-windows\build-tools;C:\NVPACK\android-sdk-windows\platform-tools;C:\NVPACK\android-sdk-windows\tools;C:\Users\Micha?\AppData\Local\atom\bin;C:\Users\Micha\AppData\Roaming\npm;C:\Program Files (x86)\Microsoft VS Code\bin 
+0

QString出力= process.readAllStandardOutput();という意味ですか? ? –

+0

そのように出力されていません: " – Tatarinho

+0

あなたはLinuxですか?' python'でも 'python2'でもかまいません。 –

答えて

0

をエコー。

公式インストーラを使用して、デフォルトのインストール場所を受け入れた場合、pythonはおそらく、 C:/Python27C:/Python35などです。これらのパスを追加する必要があります。 C:/Python27/Scripts

参照:What are PATH and other environment variables, and how can I set or use them?

+0

Pythonのフルパスでスクリプトを実行しているのですが? QStringList params; params << "script.py"; QString exe = "C:\ Python27 \ python.exe"; process.start(exe、params); – Tatarinho

+0

フルパスを使用しても出力が得られないと言っていますか? 'qDebug()<< process.errorString();'の出力は何ですか? – ekhumoro

関連する問題