Я установил анаконду, запустив
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, а также заметив, что my $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
.
Я добавил строку экспорта $ PYTHONPATH в свой ~/.bashrc
перед перезапуском.
Все функции Anaconda теперь работают, хотя Fatal Python error: Py_Initialize: Unable to get the locale encoding
одна и та же ошибка продолжает появляться вместо обычной неизвестной ошибки команды для большинства опечаток.
Я буду продолжать изучать это и редактировать свой ответ (или ссылаться на существующие ответы, если таковые имеются), как только я узнаю, почему это происходит.
PYTHONPATH: /home/usrnme/anaconda/lib/python2.7:/usr/local/lib/python2.7
. Если я хочу удалить строку PYTHONPATH: / home / usrnme / anaconda .. из моего ~ / .bashrc, ошибка все равно будет сохраняться, и ни одна из функций Anaconda не будет работать, пока я не установлю ее снова.