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/binzmiennej ś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 pythonspecyficznych)
Po śledzeniu kilku postów wymiany stosu i postów askubuntu, a także zauważeniu, że mój $PYTHONPATHzostał 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, ~/.bashrcw którym Anaconda automatycznie dodała folder / home / username / anaconda / bin do $PATHzmiennej (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 ~/.profilelub ~/.bashrc.
Dodałem linię eksportu PYTHONPATH do mojej ~/.bashrcprzed ponownym uruchomieniem.
Wszystkie funkcje Anacondy działają teraz, chociaż ten sam Fatal Python error: Py_Initialize: Unable to get the locale encodingbłą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.