双重导入Python模块时检测到“关键错误” - Pybind11

0 投票
0 回答
79 浏览
提问于 2025-04-12 09:32

基本上,我在主线程中有一个嵌入式解释器,需要从头开始重启。第二次导入一个模块时,我遇到了崩溃的情况。这里是最简单的代码示例('datetime'只是举个例子)。

int main() {

    py::initialize_interpreter();
    py::module_::import("datetime");  //--> it works if I import modules, like 'sys', 'os'. 
    py::finalize_interpreter();

    py::initialize_interpreter();
    py::module_::import("datetime"); //--> crash here
    py::finalize_interpreter();
    return 0;
}

运行这个代码会出现:

在 test.exe 中执行了一个断点指令(__debugbreak() 语句或类似的调用)。

我对调试不是很在行,所以如果我漏报了什么有用的信息,请告诉我。使用的是主分支的 pybind,python 3.12,win10。

0 个回答

暂无回答

撰写回答