Usando ambos Python 2.x y Python 3.x en el cuaderno IPython


Utilizo cuadernos IPython y me gustaría poder seleccionar para crear un 2.x ó 3.x cuaderno python en IPython.

Inicialmente tuve Anaconda. Con Anaconda se tuvo que cambiar una variable de entorno global para seleccionar qué versión de python se desea y luego se pudo iniciar IPython. Esto no es lo que estaba buscando, así que desinstalé Anaconda y ahora he configurado mi propia instalación utilizando MacPorts y PiP. Parece que todavía tengo que usar

port select --set python <python version> 

Para alternar entre python 2.x y 3.x. que no es mejor que la solución anaconda.

¿Hay alguna manera de seleccionar qué versión de python desea usar después de iniciar un notebook IPython, preferiblemente con mi compilación actual de MacPorts?

Author: Matt, 2015-05-27

10 answers

La idea aquí es instalar múltiples núcleos ipython. Aquí están las instrucciones para anaconda. Si no está usando anaconda, recientemente agregué instrucciones usando virtualenvs puros.

Anaconda > = 4.1.0

Desde la versión 4.1.0, anaconda incluye un paquete especial nb_conda_kernels que detecta entornos conda con núcleos de notebook y los registra automáticamente. Esto hace que usar una nueva versión de python sea tan fácil como crear nuevos entornos conda:

conda create -n py27 python=2.7 ipykernel
conda create -n py36 python=3.6 ipykernel

Después de reinicio de jupyter notebook, los nuevos núcleos están disponibles a través de la interfaz gráfica. Tenga en cuenta que los nuevos paquetes tienen que ser instalados explícitamente en los nuevos entornos. La sección Managing environments en los documentos de conda proporciona más información.

Registro manual de núcleos

Los usuarios que no quieran usar nb_conda_kernels o que todavía usen versiones anteriores de anaconda pueden usar los siguientes pasos para registrar manualmente núcleos ipython.

Configurar el python2.7 medio ambiente:

conda create -n py27 python=2.7
conda activate py27
conda install notebook ipykernel
ipython kernel install --user

Configure el entorno python3.6:

conda create -n py36 python=3.6
conda activate py36
conda install notebook ipykernel
ipython kernel install --user

Después de que usted debe ser capaz de elegir entre python2
y python3 al crear un nuevo cuaderno en la interfaz.

Además, puede pasar las opciones --name y --display-name a ipython kernel install si desea cambiar los nombres de sus núcleos. Ver ipython kernel install --help para más información.

 285
Author: cel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-10-11 07:55:56

Si estás ejecutando Jupyter en Python 3, puedes configurar un kernel de Python 2 como este:

python2 -m pip install ipykernel

python2 -m ipykernel install --user

Http://ipython.readthedocs.io/en/stable/install/kernel_install.html

 216
Author: Ish,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-16 12:22:41

Con una versión actual de Notebook/Jupyter, puede crear un núcleo Python3. Después de iniciar una nueva aplicación de notebook desde la línea de comandos con Python 2 debería ver una entrada " Python 3 "en el menú desplegable"Nuevo". Esto le da un cuaderno que utiliza Python 3. Así que puedes tener dos cuadernos lado a lado con diferentes versiones de Python.

Los detalles

  1. Crea este directorio: mkdir -p ~/.ipython/kernels/python3
  2. Crea este archivo ~/.ipython/kernels/python3/kernel.json con esto contenido:

    {
        "display_name": "IPython (Python 3)", 
        "language": "python", 
        "argv": [
            "python3", 
            "-c", "from IPython.kernel.zmq.kernelapp import main; main()", 
            "-f", "{connection_file}"
        ], 
        "codemirror_mode": {
            "version": 2, 
            "name": "ipython"
        }
    }
    
  3. Reinicie el servidor de notebook.

  4. Seleccione " Python 3 "en el menú desplegable"Nuevo"
  5. Trabajar con un cuaderno Python 3
  6. Seleccione " Python 2 "en el menú desplegable"Nuevo"
  7. Trabajar con un cuaderno Python 2
 36
Author: Mike Müller,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-09-01 13:41:44

Estas instrucciones explican cómo instalar un kernel python2 y python3 en entornos virtuales separados para usuarios que no son de anaconda. Si está utilizando anaconda, encuentre mi otra respuesta para una solución directamente adaptada a anaconda.

Asumo que ya tienes jupyter notebook instalado.


Primero asegúrese de tener un intérprete python2 y un intérprete python3 con pip disponible.

En ubuntu se instalarían estos por:

sudo apt-get install python-dev python3-dev python-pip python3-pip

Siguiente preparar y registrar los entornos del núcleo

python -m pip install virtualenv --user

# configure python2 kernel
python -m virtualenv -p python2 ~/py2_kernel
source ~/py2_kernel/bin/activate
python -m pip install ipykernel
ipython kernel install --name py2 --user
deactivate

# configure python3 kernel
python -m virtualenv -p python3 ~/py3_kernel
source ~/py3_kernel/bin/activate
python -m pip install ipykernel
ipython kernel install --name py3 --user
deactivate

Para hacer las cosas más fáciles, es posible que desee agregar alias de shell para el comando de activación a su archivo de configuración de shell. Dependiendo del sistema y shell que utilice, esto puede ser p.ej. ~/.bashrc, ~/.bash_profile o ~/.zshrc

alias kernel2='source ~/py2_kernel/bin/activate'
alias kernel3='source ~/py3_kernel/bin/activate'

Después de reiniciar su shell, ahora puede instalar nuevos paquetes después de activar el entorno que desea usar.

kernel2
python -m pip install <pkg-name>
deactivate

O

kernel3
python -m pip install <pkg-name>
deactivate
 29
Author: cel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:03:09

Hay una solución disponible que me permite mantener mi instalación de MacPorts configurando Ipython kernelspec.

Requisitos:

  • MacPorts se instala en el directorio /opt habitual
  • python 2.7 se instala a través de macports
  • python 3.4 se instala a través de macports
  • Ipython está instalado para python 2.7
  • Ipython está instalado para python 3.4

Para python 2.x:

$ cd /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin
$ sudo ./ipython kernelspec install-self

Para python 3.x:

$ cd /opt/local/Library/Frameworks/Python.framework/Versions/3.4/bin
$ sudo ./ipython kernelspec install-self

Ahora usted puede abrir un cuaderno Ipython y luego elegir un python 2.x o un python 3.x notebook.

Elige tu python!

 21
Author: deltap,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-08-27 18:08:14

Desde mi instalación de Linux lo hice:

sudo ipython2 kernelspec install-self

Y ahora mi python 2 está de vuelta en la lista.

Referencia:

Http://ipython.readthedocs.org/en/latest/install/kernel_install.html


ACTUALIZACIÓN:

El método anterior ahora está en desuso y se eliminará en el futuro. El nuevo método debería ser:

sudo ipython2 kernel install

 17
Author: mimoralea,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-11 17:44:30

Los siguientes son los pasos para agregar el kernel python2 a jupyter notebook::

Abra una terminal y cree un nuevo entorno python 2: conda create -n py27 python=2.7

Activar el entorno: Linux source activate py27 o windows activate py27

Instale el kernel en el env: conda install notebook ipykernel

Instala el kernel para fuera del env: ipython kernel install --user

Cierra el env: source deactivate

Aunque una respuesta tardía espera que alguien la encuentre útil: p

 5
Author: Akash Chandra,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-12-19 09:41:45

Use sudo pip3 install jupyter para instalar jupyter para python3 y sudo pip install jupyter para instalar jupyter notebook para python2. Luego, puede llamar al comando ipython kernel install para habilitar ambos tipos de notebook para elegir en jupyter notebook.

 3
Author: sv_jan5,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-30 13:12:04

Miré esta excelente información y luego me pregunté , ya que

  1. tengo python2, python3 e IPython todos instalados,
  2. tengo PyCharm instalado,
  3. PyCharm utiliza IPython para su consola Python,

Si PyCharm usaría

  1. IPython-py2 cuando Menú > Archivo>Configuración > Proyecto > Intérprete de proyecto = = py2 Y
  2. IPython-py3 cuando Menú>Archivo>Configuración>Proyecto>Intérprete de proyecto == py3

RESPUESTA: ¡Sí!

P.D. También tengo instalado Python Launcher para Windows.

 1
Author: Love and peace - Joe Codeswell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-13 16:25:30

Bajo Windows 7 tenía anaconda y anaconda3 instalados. Fui a \Users\me\anaconda\Scripts y ejecuté

sudo .\ipython kernelspec install-self

Entonces entré \Users\me\anaconda3\Scripts y ejecuté

sudo .\ipython kernel install

(tengo jupyter kernelspec install-self is DEPRECATED as of 4.0. You probably want 'ipython kernel install' to install the IPython kernelspec.)

Después de comenzar jupyter notebook (en anaconda3) tengo un menú desplegable en la esquina superior derecha bajo "Nuevo" que me permite elegir entre Python 2 odr Python 3 kernels.

 0
Author: Krischu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-07 09:33:48