Ho installato anaconda eseguendo il
bash Anaconda-2.2.0-Linux-x86_64.sh
comando sul mio sistema Ubuntu 14.04, installato correttamente, dopo di che mi è stato chiesto di esportare la mia nuova /home/username/anaconda/bin
variabile d'ambiente $ PATH.
In tal modo, sono stato in grado di utilizzare tutte le funzionalità di anaconda, inclusi gli IDE, nonché di utilizzare con successo tutti i comandi basati su conda.
La volta successiva che ho avviato il mio sistema, ogni comando digitato in modo errato vedeva a
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)
errore. (Tutti i comandi tranne python
per essere specifici)
Seguendo alcuni post di stackexchange e askubuntu e notando anche che il mio $PYTHONPATH
era stato impostato usr/local/lib/python2.7
, ho provato a farlo
export PYTHONPATH=$PYTHONPATH:/home/username/anaconda/lib/python2.7
ma non ha aiutato.
Questo mi ha fatto passare attraverso un'intera saga di rimozioni di pacchetti e reinstallazione e, naturalmente, molti aggiornamenti e upgrade, per cercare di risolvere il problema da solo.
conda info -a
ritorna:
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
Il comando
which python
ritorna
/home/username/anaconda/bin/python
e
echo "$PATH"
ritorna
/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
So che ha a che fare con il modo in cui ho impostato le variabili del percorso, in particolare nella ~/.bashrc
quale Anaconda ha anteposto automaticamente la mia cartella / home / username / anaconda / bin alla $PATH
variabile (ciò è accaduto durante una seconda installazione di Anaconda dopo che l'ho rimosso per primo ).
Non ho modificato alcuna altra variabile di ambiente in ~/.profile
o ~/.bashrc
.
Ho aggiunto la riga di esportazione $ PYTHONPATH alla mia ~/.bashrc
prima di riavviare.
Tutte le funzionalità di Anaconda funzionano ora, anche se lo stesso Fatal Python error: Py_Initialize: Unable to get the locale encoding
errore continua a comparire invece del solito errore di comando sconosciuto, per la maggior parte dei comandi errati.
Continuerò a esaminarlo e a modificare la mia risposta (o far riferimento a eventuali risposte esistenti) non appena scoprirò perché ciò accade.
PYTHONPATH: /home/usrnme/anaconda/lib/python2.7:/usr/local/lib/python2.7
. Se dovessi rimuovere la riga PYTHONPATH: / home / usrnme / anaconda .. dal mio ~ / .bashrc, l'errore continuerebbe a persistere, e anche nessuna delle funzionalità di Anaconda funzionerebbe, fino a quando non la reimposterò.