Instalé anaconda ejecutando el
bash Anaconda-2.2.0-Linux-x86_64.sh
comando en mi sistema Ubuntu 14.04, que se instaló correctamente, después de lo cual se me solicitó exportar mi nueva /home/username/anaconda/bin
variable de entorno $ PATH.
Al hacerlo, pude usar todas las funciones de anaconda, incluidos los IDE, así como usar todos los comandos basados en conda con éxito.
La próxima vez que encendí mi sistema, cada comando mal escrito vio un
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)
error. (Todos los comandos excepto python
para ser específicos)
Al seguir algunas publicaciones de stackexchange y askubuntu y también notar que mi $PYTHONPATH
había sido configurado en usr/local/lib/python2.7
, intenté
export PYTHONPATH=$PYTHONPATH:/home/username/anaconda/lib/python2.7
Pero no sirvió de nada.
Esto me hizo pasar por una saga completa de eliminaciones y reinstalaciones de paquetes y, por supuesto, muchas actualizaciones y mejoras, para intentar solucionar el problema por mí mismo.
conda info -a
devoluciones:
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
El comando
which python
devoluciones
/home/username/anaconda/bin/python
y
echo "$PATH"
devoluciones
/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
Sé que tiene algo que ver con la forma en que configuro las variables de ruta, específicamente en la forma ~/.bashrc
en que Anaconda antepuso automáticamente mi carpeta / home / username / anaconda / bin a la $PATH
variable (Esto sucedió durante una segunda instalación de Anaconda después de que la quité primero )
No he modificado cualquier otra variable de entorno, ya sea en ~/.profile
o ~/.bashrc
.
Agregué la línea de exportación $ PYTHONPATH a mi ~/.bashrc
antes de reiniciar.
Todas las funciones de Anaconda funcionan ahora, aunque el mismo Fatal Python error: Py_Initialize: Unable to get the locale encoding
error sigue apareciendo en lugar del error de comando desconocido habitual, para la mayoría de los comandos mal escritos.
Seguiré investigando esto y editaré mi respuesta (o me referiré a las respuestas existentes, si las hay) tan pronto como descubra por qué sucede esto.
fuente
PYTHONPATH: /home/usrnme/anaconda/lib/python2.7:/usr/local/lib/python2.7
. Si voy a eliminar la línea PYTHONPATH: / home / usrnme / anaconda .. de mi ~ / .bashrc, el error aún persistiría y ninguna de las características de Anaconda funcionaría, hasta que la vuelva a configurar.He tenido problemas similares en los últimos días, así que lo rastreé hasta cómo bash maneja el "comando no encontrado". En Ubuntu 14.04 (y Linux Mint 17, que utilizo los scripts 14.04), /etc/bash.bashrc tiene la siguiente función:
Sin embargo, / usr / lib / command-not-found ha sido reescrito para Python 3. Maneja el comando /etc/bash.bashrc con:
Esto llama "python3" desde la ruta en lugar de proporcionar la ruta directa. Para corregir esto, la línea 22 de / usr / lib / command-not-found debe cambiarse de
a
Esto parece ser un error con Ubuntu en lugar de Anaconda. Comprobaré si aparece en distribuciones posteriores.
fuente
Después de haber instalado python3 en las ubicaciones estándar y darme cuenta de que necesitaba sudo para usarlo, lo instalé localmente usando esto en mi directorio de inicio:
Pero tuvo más errores. Simplemente desarmar PYTHONPATH en la instancia de Amazon Linux de AWS funcionó muy bien para mí.
fuente
Mi problema era un poco diferente: como un usuario, podía ejecutar
python
, pero como otro usuario, no (recibí el mismo error que OP). Finalmente, descubrí que los permisos y la propiedad de /usr/lib/python3.5 estaban atornillados. La razón de esto fue que había establecido recursivamente los permisos y la propiedad en virtualenv, lo que terminó modificando los objetivos del enlace simbólico (targetin /usr/lib/python3.5 ) también.Consejo: Utilícelo
strace python
para descubrir qué sucede durante el inicio de Python. Cuando lo uséstrace
, pude ver claramente PERMISSION_DENIED en /usr/lib/python3.5 .fuente
Esto funciono para mi
/programming//a/39097003/823282
fuente
Tuve un problema similar en Windows: eliminé la variable de sistema PYTHONHOME. Intentaré traducir la solución al inglés. Mi PC> Propiedades> Configuración avanzada del sistema> Variables de entorno, busque la variable PYTHONHOME y elimínela.
fuente