我希望能够在Py_Initialize()
失败时捕获。找不到或未正确配置python安装时,可能会发生这种情况。
为此,我希望能够以这种方式解决它:
try
{
Py_Initialize();
}
catch (error_already_set const &)
{
cout << "Please provide the path to your Python Folder" << endl;
//...
return;
}
相反,此代码失败,并且应用程序崩溃而没有进入catch
块。
Fatal Python error: initfsencoding: unable to load the file system codec
ModuleNotFoundError: No module named 'encodings'
请注意,我没有尝试修复python安装。
我要解决的实际问题是确保在未安装python或配置不正确的计算机上调用Py_Initialize()
时,应用不会崩溃。
因此,如果由于某种原因不可能在Py_Initialize()
期间捕获错误(在升压文档中,error_already_set
抛出(仅?)是在表达式求值时抛出的(引用:“如果在python表达式的评估,抛出error_already_set“)),可以检测到损坏的python配置并避免调用Py_Initialize()
开始吗?