Python3.3 - 致命错误:无法获取区域编码

1 投票
1 回答
8913 浏览
提问于 2025-04-18 01:17

导入错误:没有名为'encodings'的模块

这个错误的意思很明显,我知道问题出在哪里。问题是平台的路径名称中使用了冒号,所以当我用以下方式设置路径时:

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

然后调用:

Py_Initialize();

它就找不到需要导入的模块了。所以,我想问的是:有没有办法解决这个问题,而不需要重命名路径(我无法控制这个)?我能不能以某种方式处理这些冒号?

谢谢!

1 个回答

2

从这个源代码来看,我没有看到有什么办法可以做到这一点...

Py_SetPath 这个函数的作用就是清空之前设置的路径,然后把你给它的字符串重新设置为新的路径,实际上并没有进行什么复杂的处理。Py_GetPath 返回的就是这个路径,基本上就这么简单。

有一个建议,可能会有效,就是在某个路径名中没有 : 的地方创建一个符号链接,指向那个目录,然后使用这个链接...

撰写回答