gpt4 book ai didi

c++ - Py_Initialize 失败 - 无法加载文件系统编解码器

转载 作者:IT老高 更新时间:2023-10-28 13:23:34 26 4
gpt4 key购买 nike

我正在尝试组合一个使用嵌入式 python 3.2 解释器的简单 c++ 测试项目。项目构建良好,但 Py_Initialize 引发 fatal error :

Fatal Python error: Py_Initialize: unable to load the file system codec
LookupError: no codec search functions registered: can't find encoding

最小代码:

#include <Python.h>

int main (int, char**)
{
Py_Initialize ();
Py_Finalize ();
return 0;
}

操作系统是 32 位 Vista。

使用的 python 版本是 python 3.2 调试版本,使用 VC++ 10 从源代码构建。

来自同一构建的 python_d.exe 文件运行没有任何问题。

谁能解释一下这个问题以及如何解决它?我自己的 google-fu 让我失望了。

编辑 1

查看python源代码后,我发现,正如错误所说,没有注册编解码器搜索功能。 codec_registerPyCodec_Register 都是应有的。只是代码中没有任何地方调用这些函数。

我真的不知道这意味着什么,因为我仍然不知道应该何时以及从何处调用这些函数。我的其他 python 构建 (3.1.3) 的源代码中完全缺少引发错误的代码。

编辑 2

在下面回答了我自己的问题。

最佳答案

检查 PYTHONPATHPYTHONHOME 环境变量并确保它们不指向 Python 2.x。

http://bugs.python.org/issue11288

关于c++ - Py_Initialize 失败 - 无法加载文件系统编解码器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5694706/

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