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

我试图将一个使用python 3.2的简单c ++测试项目放在一起。项目构建良好,但是Py_Initialize引发了致命错误:


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_register和PyCodec_Register都应有的状态。只是代码中没有任何地方调用这些函数。


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


编辑2


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


杨__羊羊
浏览 5461回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP