¿Por qué las versiones de python difieren cuando se llaman desde Terminal y desde Atom?

Cuando ejecuto Python desde la terminal y desde Atom , se llaman diferentes versiones de python. Como consecuencia, hay paquetes a los que puedo llamar sin problemas desde el terminal pero que no puedo llamar desde Atom . Aquí están los detalles:

Al llamar a python desde el terminal , obtengo la versión 3.7.1

 $ python Python 3.7.1 | packaged by conda-forge | (default, Nov 13 2018, 09:50:42) [Clang 9.0.0 (clang-900.0.37)] :: Anaconda custom (64-bit) on darwin 

(Obtengo exactamente lo mismo si python3 en python3 lugar)

Ahora, al mirar la versión de python de Atom obtengo la versión 3.6.5 con

 >>> import sys >>> print(sys.version 3.6.5 | packaged by conda-forge | (default, Apr 6 2018, 13:44:09) [GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] 

¿Cómo? ¿Cómo puedo hacer que Atom obtenga la misma versión que la versión de Terminal?

Intentos fallidos

Mirando el PATH con el comando import sys y luego print(sys.path) aquí es lo que obtengo:

Desde el átomo:

 ['', '/anaconda3/lib/python36.zip', '/anaconda3/lib/python3.6', '/anaconda3/lib/python3.6/lib-dynload', '/anaconda3/lib/python3.6/site-packages', '/anaconda3/lib/python3.6/site-packages/aeosa', '/anaconda3/lib/python3.6/site-packages/cycler-0.10.0-py3.6.egg', '/anaconda3/lib/python3.6/site-packages/IPython/extensions', '/Users/mymac/.ipython'] 

Desde la Terminal:

 ['', '/Users/mymac/anaconda3/lib/python37.zip', '/Users/mymac/anaconda3/lib/python3.7', '/Users/mymac/anaconda3/lib/python3.7/lib-dynload', '/Users/mymac/anaconda3/lib/python3.7/site-packages', '/Users/mymac/anaconda3/lib/python3.7/site-packages/aeosa'] 

Parece que Atom está usando la versión de Python de pyenv dado el siguiente comando y salida:

 $ pyenv versions * system (set by /Users/mymac/.pyenv/version) 3.6.5 

De acuerdo con la página github de pyenv . Entré en pyenv virtualenv 3.7.1 . Luego, al ingresar las $ pyenv versions al menos la versión 3.7.1 estaba en la lista:

 * system (set by /Users/mymac/.pyenv/version) 3.6.5 3.7.1 

Pero eso no solucionó el problema con Atom

Luego visité la página de configuración de entorno de administración y ejecuté los siguientes comandos:

 $ conda create --name myenv 

Corrió sin problema, pero el problema persiste.

Luego intenté ejecutar más específicamente $ conda create -n myenv python=3.7.1 pero obtuve: CondaValueError: prefix already exists: /Users/mymac/anaconda3/envs/myenv

Como señaló @jmh Entonces intenté: $ source activate 3.7.1 y obtuve el siguiente aviso: (3.7.1) user:~ user$

Pude elegir correctamente el correcto, el virtualenv correcto. Pero luego de abrir Atom el problema persistió.

Debe tener múltiples intérpretes de Python (versiones diferentes) en su computadora. Abra la paleta de comandos en Atom y elija “Python: Seleccionar intérprete”. Seleccione la versión de Python que desea utilizar.

Si tiene varias versiones de python, debería utilizar entornos virtuales. La versión de python utilizada desde el terminal dependerá de qué entorno virtual haya activado. Atom usará lo mismo entonces. Active la versión de python que desee y luego ejecute Atom.

Si está utilizando Anaconda, instale los entornos conda. Es muy simple si usas Anaconda. Se requieren algunos pasos adicionales si no lo está utilizando.

Internet está lleno de direcciones para crear entornos virtuales.

Creé un entorno llamado py27 para python 2.7. Cuando activo este entorno, se muestra en la línea del cursor así:

introduzca la descripción de la imagen aquí .

Si no ve esto, su entorno no se ha activado. Para activar en una source activate py27 tipo Mac, source activate py27 . No creo que necesites la fuente de la palabra en una PC, pero no puedo probar eso.

Ok, tuve que cambiar la Path en el archivo .json del kernel jupyter. Primero revisé la lista de kernel jupyter:

 $ jupyter kernelspec list julia-0.6 /Users/mymac/Library/Jupyter/kernels/julia-0.6 julia-1.0 /Users/mymac/Library/Jupyter/kernels/julia-1.0 python3 /Users/mymac/Library/Jupyter/kernels/python3 

Luego cd la ruta Python anterior y, encontré el archivo kernel.json dentro y lo abrí:

 { "argv": [ "/path/to/python", "-m", "ipykernel_launcher", "-f", "{connection_file}" ], "display_name": "Python 3", "language": "python" } 

En ese archivo, cambié la línea /path/to/python por la ruta python que obtuve al escribir lo siguiente en la Terminal:

 $ which python /Users/mymac/anaconda3/bin/python 

Relanzó Atom y finalmente funcionó!

¡Las sugerencias de la página de github de jupyter también ayudaron mucho!