Python3.3 - 致命Python错误:Py_Initialize:无法获取语言环境编码

时间:2014-04-04 05:33:14

标签: python linux python-3.x embedded fatal-error

ImportError:没有名为'encodings'的模块

虽然错误是自我解释,但我知道问题的原因。问题是平台在路径名中使用冒号,所以当我使用:

设置路径时

Py_SetPath("the/path/with:colon/");

然后致电:

Py_Initialize();

无法找到要导入的必需模块。所以,我的问题是:有没有办法解决方法而不重命名路径(我不控制)?我可以以某种方式逃脱冒号吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

source code的外观来看,我无法做到这一点......

Py_SetPath只需清除之前设置的任何路径,然后将其重置为您提供的字符串,而无需进行实际处理。这就是Py_GetPath返回的内容,我认为这就是它的所有内容。

可能工作的一个建议是创建一个指向路径名称中没有:的目录的符号链接,然后使用它...