我通过运行安装了Anaconda
bash Anaconda-2.2.0-Linux-x86_64.sh
在我的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)
错误。(除了
python
之外的所有命令都要具体说明)在跟随一些StackExchange和AskUbuntu帖子,并注意到我的
$PYTHONPATH
已设置为usr/local/lib/python2.7
后,我尝试着...export PYTHONPATH=$PYTHONPATH:/home/username/anaconda/lib/python2.7
但是它没有起到任何帮助作用。
这让我经历了一系列的软件包卸载和重新安装,当然还有很多更新和升级,试图自己解决这个问题。
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
命令
which python
返回
/home/username/anaconda/bin/python
并且
echo "$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
我知道这与我设置路径变量的方式有关,具体来说是在
~/.bashrc
中,Anaconda自动将我的/home/username/anaconda/bin文件夹添加到$PATH
变量中(这是在我首次删除Anaconda后进行第二次安装时发生的)。我没有修改任何其他环境变量,无论是在
~/.profile
还是~/.bashrc
中。
我在重启之前向我的
~/.bashrc
中添加了导出$PYTHONPATH行。现在Anaconda的所有功能都可以使用,尽管大多数打错命令时,同样的
致命Python错误:Py_Initialize:无法获取区域编码
错误一直会出现,而不是通常的未知命令错误。我将继续研究这个问题,并在找到原因后编辑我的答案(或参考现有答案)。
PYTHONPATH: /home/usrnme/anaconda/lib/python2.7:/usr/local/lib/python2.7
。如果我从我的~/.bashrc文件中删除PYTHONPATH: /home/usrnme/anaconda..这一行,错误仍然会持续存在,并且Anaconda的功能也无法正常工作,直到我再次设置它。 - samirzach