sam*_*ach 21 python python-2.7 14.04 conda
我通过运行安装了anaconda
bash Anaconda-2.2.0-Linux-x86_64.sh
Run Code Online (Sandbox Code Playgroud)
命令在我的 Ubuntu 14.04 系统上安装成功,之后我被要求导出我的新/home/username/anaconda/bin$PATH 环境变量。
这样做后,我能够使用 anaconda 的所有功能,包括 IDE 的功能,并成功使用所有基于 conda 的命令。
下次我启动系统时,每个未输入的命令都会看到一个
Fatal Python error: Py_Initialize: Unable to get the locale encoding
File "/usr/local/lib/python2.7/encodings/__init__.py", line 123
raise CodecRegistryError,\
^
SyntaxError: invalid syntax
Aborted (core dumped)
Run Code Online (Sandbox Code Playgroud)
错误。(除python特定命令外的所有命令)
在关注了一些 stackexchange 和 askubuntu 帖子并注意到我$PYTHONPATH已被设置为 后usr/local/lib/python2.7,我尝试
export PYTHONPATH=$PYTHONPATH:/home/username/anaconda/lib/python2.7
Run Code Online (Sandbox Code Playgroud)
但它没有帮助。
这让我经历了整个软件包删除和重新安装的传奇,当然还有很多更新和升级,以尝试自己解决问题。
conda info -a 返回:
CIO_TEST: <not set>
CONDA_DEFAULT_ENV: <not set>
CONDA_ENVS_PATH: <not set>
LD_LIBRARY_PATH: <not set>
PATH: /home/username/anaconda/bin:/home/username/Scala-sbt/sbt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/username/bin:/usr/local/java/jdk1.8.0_20/bin
PYTHONHOME: <not set>
PYTHONPATH: /usr/local/lib/python2.7:/home/username/anaconda/bin/python
Run Code Online (Sandbox Code Playgroud)
命令
which python
Run Code Online (Sandbox Code Playgroud)
返回
/home/username/anaconda/bin/python
Run Code Online (Sandbox Code Playgroud)
和
echo "$PATH"
Run Code Online (Sandbox Code Playgroud)
返回
/home/username/anaconda/bin:/home/username/Scala-sbt/sbt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/username/bin:/usr/local/java/jdk1.8.0_20/bin
Run Code Online (Sandbox Code Playgroud)
我知道这与我设置路径变量的方式有关,特别是~/.bashrc在其中 Anaconda 自动将我的 /home/username/anaconda/bin 文件夹添加到$PATH变量中(这发生在我第一次删除 Anaconda 后的第二次安装期间)。
我没有在~/.profile或 中修改任何其他环境变量~/.bashrc。
~/.bashrc在重新启动之前,我将 export $PYTHONPATH 行添加到我的。
Anaconda 的所有功能现在都可以工作,尽管Fatal Python error: Py_Initialize: Unable to get the locale encoding对于大多数错误输入的命令,总是出现相同的错误而不是通常的未知命令错误。
一旦我发现为什么会发生这种情况,我将继续调查并编辑我的答案(或参考现有答案,如果有的话)。
asm*_*rer 13
我建议取消设置 PYTHONPATH。它通常是不需要的,它通过让一个 Python 从另一个 Python 加载东西而导致事情像这样中断(在这种情况下,系统的 Python 3 似乎正在尝试加载为 Python 2 编写的东西)。
| 归档时间: |
|
| 查看次数: |
96339 次 |
| 最近记录: |