我正在使用Qt 5.2應用程序並將Python C API嵌入到應用程序中。 我正在使用Python 3.3.4和Windows 7操作系統。在Windows操作系統上Py_Initialize崩潰
當我們運行Qt應用程序時,Py_Initialize()函數正在崩潰。
以下是樣本代碼。
int main(int argc, char * argv[])
{
QApplication app(argc, argv);
QCoreApplication::setApplicationName("My Python Application");
Py_SetProgramName("Test Program");
qDebug() << "Before Initialize";
Py_Initialize();
qDebug() << "After Initialize";
// Shutdown Python
Py_Finalize();
return app.exec();
}
我只是把調試語句,來到知道Py_Initialize()是越來越儘管我們設置了PYTHONHOME和PYTHONPATH環境變量失敗。我們只獲得「Before Initialize」調試打印。
注:我只在Windows操作系統中觀察到此問題。這個問題在Python 2.7中沒有被觀察到。在Linux操作系統中一切工作正常與Python 2.7 & Python 3.3.4。問題僅限於Windows & Python 3.
爲什麼Py_Initialize()函數崩潰?如何解決這個問題? 我用Python試過3.3.4 & 3.3.5。在這兩個版本的應用程序正在崩潰。
在此先感謝。
使用調試版本蟒,一個調試器下運行的代碼,看到它崩潰。只有你可以回答你的問題,這就是你應該先嚐試的。 –
謝謝。我發現問題是PYTHONHOME路徑設置不正確。我曾經在Py_Initialize之前調用Py_SetPythonHome,一切正常。 – Neel
這不屬於評論。回答你自己的問題:) –