我正在使用Qt 5.2应用程序和嵌入式Python C API进入应用程序。 我使用的是Python 3.3.4和Windows 7操作系统。
当我们运行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();
}
我只是放了调试语句,并且知道即使我们设置了PYTHONHOME和PYTHONPATH环境变量,Py_Initialize()也会失败。我们只得到&#34;在初始化之前&#34;调试打印。
注意:我仅在Windows操作系统中观察到此问题。在Python 2.7中没有观察到此问题。在Linux操作系统中,一切都在使用Python 2.7&amp; Python 3.3.4。问题仅出在Windows&amp; Python 3。
为什么Py_Initialize()函数崩溃了?如何解决这个问题? 我试过Python 3.3.4&amp; 3.3.5。在这两个版本中,应用程序都崩溃了。
先谢谢。
答案 0 :(得分:1)
Neel在评论中为自己回答,这也为我解决了这个问题所以我认为答案是有条理的。
我发现问题是PYTHONHOME路径设置不正确。我曾经在Py_Initialize之前调用Py_SetPythonHome,一切正常。 - Neel 2016年7月15日11:53