gpt4 book ai didi

python - 致命的Python错误: Can't initialize threads for interpreter when calling python from c

转载 作者:行者123 更新时间:2023-11-30 19:28:19 26 4
gpt4 key购买 nike

我尝试从c调用python代码,示例代码在我的环境(python3.6)上运行正常,但是当我将它集成到我的程序中时,当我调用Py_Initialize()时出现以下错误;:

...
sem_init: Success
Fatal Python error: Can't initialize threads for interpreter

您能提供一些线索来解决这个问题吗?

错误似乎来自here ,但我仍然不确定如何避免这种情况。

最佳答案

失败的代码是

    if (head_mutex == NULL)
Py_FatalError("Can't initialize threads for interpreter");

在代码中搜索 head_mutex 引用 finds

#define HEAD_INIT() (void)(head_mutex || (head_mutex = PyThread_allocate_lock()))

在失败代码之前调用。

所以,原因是 PyThread_allocate_lock 返回 NULL。根据操作系统和构建标志,Python 代码库中有几种不同的实现,因此您需要对其进行调试,或者找出在您的情况下使用哪一种来进一步跟踪操作系统调用的错误。

关于python - 致命的Python错误: Can't initialize threads for interpreter when calling python from c,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54170779/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com