Zainstalowałem anakondę, uruchamiając
bash Anaconda-2.2.0-Linux-x86_64.sh
polecenie w moim systemie Ubuntu 14.04, który został pomyślnie zainstalowany, po czym zostałem poproszony o wyeksportowanie mojej nowej /home/username/anaconda/bin
zmiennej środowiskowej $ PATH.
Dzięki temu mogłem korzystać ze wszystkich funkcji anakondy, w tym IDE, a także z powodzeniem korzystać ze wszystkich poleceń opartych na Condach.
Następnym razem, gdy uruchamiam system, każde źle wpisane polecenie widziało
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)
błąd. (Wszystkie polecenia oprócz python
specyficznych)
Po śledzeniu kilku postów wymiany stosu i postów askubuntu, a także zauważeniu, że mój $PYTHONPATH
został ustawiony usr/local/lib/python2.7
, próbowałem
export PYTHONPATH=$PYTHONPATH:/home/username/anaconda/lib/python2.7
ale to nie pomogło.
To sprawiło, że przejrzałem całą sagę usuwania pakietów i ponownej instalacji oraz oczywiście wiele aktualizacji i uaktualnień, aby samodzielnie rozwiązać problem.
conda info -a
zwroty:
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
Komenda
which python
zwroty
/home/username/anaconda/bin/python
i
echo "$PATH"
zwroty
/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
Wiem, że ma to związek ze sposobem, w jaki ustawiam zmienne ścieżki, szczególnie w tym, ~/.bashrc
w którym Anaconda automatycznie dodała folder / home / username / anaconda / bin do $PATH
zmiennej (Stało się to podczas drugiej instalacji Anacondy po tym, jak ją najpierw usunąłem ).
Nie zmodyfikowałem żadnej innej zmiennej środowiskowej w żadnym z ~/.profile
lub ~/.bashrc
.
Dodałem linię eksportu PYTHONPATH do mojej ~/.bashrc
przed ponownym uruchomieniem.
Wszystkie funkcje Anacondy działają teraz, chociaż ten sam Fatal Python error: Py_Initialize: Unable to get the locale encoding
błąd pojawia się zamiast zwykłego nieznanego błędu polecenia, w przypadku większości źle wpisanych poleceń.
Będę się nad tym zastanawiał i zredagował moją odpowiedź (lub odniesie się do istniejących odpowiedzi, jeśli takie istnieją), jak tylko dowiem się, dlaczego tak się dzieje.
PYTHONPATH: /home/usrnme/anaconda/lib/python2.7:/usr/local/lib/python2.7
. Jeśli mam usunąć wiersz PYTHONPATH: / home / usrnme / anaconda .. z mojego ~ / .bashrc, błąd nadal będzie występował, a także żadna z funkcji Anacondy nie zadziała, dopóki nie ustawię go ponownie.