gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 21:18:52 25 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/54470285/

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