【发布时间】:2013-05-06 21:11:35
【问题描述】:
我已经下载了Python3.3,解压后我发布了./configure、make和make altinstall。当我发出python3.3 时,显示以下消息:
致命的 Python 错误:Py_Initialize:无法获取语言环境编码
ImportError: 没有名为“编码”的模块
中止
我检查了 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 不会启动。
在 Eclipse 中,安装 pydev 后,当我尝试从 /usr/local/bin 添加 Python 解释器时,收到以下消息:
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。
【问题讨论】:
-
你把
PYTHONHOME和PYTHONPATH弄混了吗? -
我不确定你到底在问什么。我使用 PYTHONHOME 指向 python 库和 PYTHONPATH 指向解释器。如果我的理解是正确的,我不是。我是 python 新手,所以你的建议会很有帮助。
-
PYTHONPATH是模块搜索路径,另见documentation。PYTHONHOME用于标准库,同样,docs 中有解释。假设你在/usr/local下安装了python3,试试PYTHONHOME -
太棒了!它就像魅力一样。但是,当解释器启动时,我仍然收到以下错误: Traceback(最近一次调用最后一次):文件“/etc/pythonstart”,第 5 行,在
中 import atexit ImportError: No module named 'atexit'。另外,我仍然无法在 Eclipse 中设置 python:尝试创建解释器信息时,标准输出中没有输出。错误输出包含:>>致命的 Python 错误:Py_Initialize: 无法获取语言环境编码 ImportError: No module named 'encodings' -
抱歉,不知道 /etc/pythonstart 应该做什么。我认为它要么使用了错误的 python 解释器,要么仍然有一个无效的 PYTHONHOME。与 Eclipse 相同。
标签: python-3.x opensuse