Utiliser à la fois Python 2.x et Python 3.x dans IPython Notebook
J'utilise les notebooks IPython et j'aimerais pouvoir choisir de créer un notebook python 2.x ou 3.x dans IPython.
Au départ, j'avais Anaconda. Avec Anaconda, une variable d'environnement globale devait être modifiée pour sélectionner la version de python souhaitée, puis IPython pouvait être lancé. Ce n'est pas ce que je recherchais, j'ai donc désinstallé Anaconda et j'ai maintenant mis en place ma propre installation en utilisant MacPorts et PiP. Il semble que je doive toujours utiliser
port select --set python <python version>
pour basculer entre python 2.x et 3.x, ce qui n'est pas mieux que la solution d'Anaconda.
Existe-t-il un moyen de sélectionner la version de python que l'on souhaite utiliser après avoir démarré un notebook IPython, de préférence avec ma construction MacPorts actuelle ?
L'idée ici est d'installer plusieurs noyaux
ipython
. Voici les instructions pour anaconda. Si vous n'utilisez pas anaconda, j'ai récemment ajouté des instructions pour utiliser des virtualenvs purs.Anaconda >= 4.1.0
Depuis la version 4.1.0, anaconda inclut un paquetage spécial
nb_conda_kernels
qui détecte les environnements conda avec des noyaux notebook et les enregistre automatiquement. Cela rend l'utilisation d'une nouvelle version de python aussi facile que la création de nouveaux environnements conda :Après un redémarrage de jupyter notebook, les nouveaux noyaux sont disponibles via l'interface graphique. Veuillez noter que les nouveaux paquets doivent être explicitement installés dans les nouveaux environnements. La section Managing environments dans la documentation de conda's fournit de plus amples informations.
Enregistrement manuel des noyaux
Les utilisateurs qui ne veulent pas utiliser
nb_conda_kernels
ou qui utilisent encore d'anciennes versions d'anaconda peuvent utiliser les étapes suivantes pour enregistrer manuellement les noyaux ipython.Configurez l'environnement
python2.7
:configurer l'environnement
python3.6
:Après cela, vous devriez être capable de choisir entre
python2
etpython3
. etpython3
lors de la création d'un nouveau notebook dans l'interface.De plus, vous pouvez passer les options
--name
et--display-name
àipython kernel install
si vous voulez changer les noms de vos noyaux. Voiripython kernel install --help
pour plus d'informations.Avec une version actuelle de Notebook/Jupyter, vous pouvez créer un [noyau Python3][1]. Après avoir lancé une nouvelle application Notebook à partir de la ligne de commande avec Python 2, vous devriez voir une entrée "Python 3" dans le menu déroulant "New". Cela vous donne un notebook qui utilise Python 3. Vous pouvez donc avoir deux notebooks côte à côte avec des versions différentes de Python.
Les détails
Créez ce répertoire :
mkdir -p ~/.ipython/kernels/python3
Créez ce fichier
~/.ipython/kernels/python3/kernel.json
avec ce contenu :Redémarrez le serveur notebook.
Sélectionnez "Python 3" dans le menu déroulant "New".
Travailler avec un notebook Python 3
Sélectionnez "Python 2" dans le menu déroulant "Nouveau". 7.
Travailler avec un Notebook Python 2
[1] : http://jupyter.cs.brynmawr.edu/hub/dblank/public/Jupyter%20Help.ipynb#1.4.2-Enable-Python-3-kernel
Il existe une solution qui me permet de conserver mon installation MacPorts en configurant le kernelspec Ipython.
Conditions requises :
Pour python 2.x :
Pour python 3.x :
Vous pouvez maintenant ouvrir un bloc-notes Ipython, puis choisir un bloc-notes python 2.x ou python 3.x.
[!Choisissez votre python !][1]][1]
[1] : http://i.stack.imgur.com/45bUZ.png