Py_Initialize: 在OpenSuse 12.3中无法获取本地编码

20
我已经下载了Python3.3, 解压后执行了./configure, makemake altinstall。当我执行python3.3时,出现以下错误信息:

Fatal Python error: Py_Initialize: Unable to get the locale encoding

ImportError: No module named 'encodings'

Aborted

我检查了Python环境变量,它们似乎都正常。在我的.profile文件中插入了以下行:
export PYTHONHOME=/usr/local/lib/python3.3/:/usr/local/lib/python3.3/lib/:/usr/local/lib/python3.3/lib/site-packages/
export PYTHONPATH=/usr/local/bin/
export PATH=$PYTHONPATH:$PATH

我随后执行了source .profile,但Python无法启动。

在安装了pydev后,我尝试从/usr/local/bin添加Python解释器时,在Eclipse中收到以下消息:

No output was in the standard output when trying to create the interpreter info.
The error output contains:>>Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Traceback (most recent call last):
  File "/home/sabya/eclipse/plugins/org.python.pydev_2.7.3.2013031601/pysrc/interpreterInfo.py", line 52, in <module>
    import time
ImportError: No module named 'time'

我不知道还需要设置什么,才能让Python正常工作。我正在运行OpenSuSE 12.3。


1
你是不是把 PYTHONHOMEPYTHONPATH 搞混了? - Thomas Fenzl
1
我不确定你具体在问什么。我已经使用PYTHONHOME指向Python库,使用PYTHONPATH指向解释器。我不确定我的理解是否正确。我是Python的新手,所以您的建议将非常有帮助。 - Sabyasachi Mitra
PYTHONPATH 是模块搜索路径,请参阅文档PYTHONHOME 用于标准库,同样在文档中有解释。假设您已经在 /usr/local 下安装了 python3,请将其作为 PYTHONHOME 尝试。 - Thomas Fenzl
1
太棒了!它像魔法一样奏效。但是当解释器启动时,我仍然收到以下错误:跟踪(最近的调用最先): 文件“/etc/pythonstart”, 第5行, <module> import atexit ImportError: No module named 'atexit'.此外,我仍然无法在Eclipse中设置Python: 在尝试创建解释器信息时,标准输出没有输出。 错误输出包含:>>致命的Python错误:Py_Initialize:无法获取区域编码 ImportError: No module named 'encodings' << 你能帮忙吗? - Sabyasachi Mitra
抱歉,我不知道 /etc/pythonstart 的作用。我认为它可能使用了错误的 Python 解释器或仍然有无效的 PYTHONHOME。Eclipse 也是同样的问题。 - Thomas Fenzl
显示剩余2条评论
2个回答

2

请注意,现在是Python-3.5.2版本。 - JasTonAChair
谢谢,稍微改了一下回应内容,这样它的效果会更持久。 - cdated

0

删除您的虚拟环境并创建一个新的,您就可以继续了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接