我必须在同一范围内调用 py::initialize_interpreter() 和 py::finalize_interpreter() 吗?
Do I have to call py::initialize_interpreter() and py::finalize_interpreter() within the same scope?
我正在尝试在我的 C++ 应用程序中嵌入 Python 脚本。
我想知道是否必须在同一范围内调用 py::initialize_interpreter()
和 py::finalize_interpreter()
,如下所示。
if(condition){
py::initialize_interpreter();
{
other pybind processes
}
py::finalize_interpreter();
}
或者我可以这样做:
if(condition){
py::initialize_interpreter();
}
/*** other C++ code***/
if(condition){
other pybind processes
}
/*** other C++ code***/
if(condition){
py::finalize_interpreter();
}
这行得通吗?
谢谢!
不,您不需要在同一范围内调用它,但是您需要注意,您可以不能在初始化后再次调用 py::initialize_interpreter();
.要再次调用它,您首先需要调用 py::finalize_interpreter();
.
我正在尝试在我的 C++ 应用程序中嵌入 Python 脚本。
我想知道是否必须在同一范围内调用 py::initialize_interpreter()
和 py::finalize_interpreter()
,如下所示。
if(condition){
py::initialize_interpreter();
{
other pybind processes
}
py::finalize_interpreter();
}
或者我可以这样做:
if(condition){
py::initialize_interpreter();
}
/*** other C++ code***/
if(condition){
other pybind processes
}
/*** other C++ code***/
if(condition){
py::finalize_interpreter();
}
这行得通吗?
谢谢!
不,您不需要在同一范围内调用它,但是您需要注意,您可以不能在初始化后再次调用 py::initialize_interpreter();
.要再次调用它,您首先需要调用 py::finalize_interpreter();
.