J'utilise des ordinateurs portables IPython et j'aimerais pouvoir créer un ordinateur portable python 2.x ou 3.x dans IPython.
J'ai d'abord eu Anaconda. Avec Anaconda, une variable d’environnement global a dû être modifiée pour sélectionner la version de python de votre choix, puis IPython peut être démarré. Ce n’est pas ce que je recherchais, j’ai donc désinstallé Anaconda et installé ma propre installation à l’aide de MacPorts et de PiP. Il semble que je dois encore utiliser
port select --set python <python version>
pour basculer entre python 2.x et 3.x. qui ne vaut pas mieux que la solution d'anaconda.
Existe-t-il un moyen de sélectionner la version de python que vous souhaitez utiliser après avoir démarré un bloc-notes IPython, de préférence avec la version actuelle de MacPorts?
Une solution est disponible qui me permet de conserver mon installation MacPorts en configurant Ipython kernelspec.
Exigences:
Pour Python 2.x:
$ cd /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin
$ Sudo ./ipython kernelspec install-self
Pour Python 3.x:
$ cd /opt/local/Library/Frameworks/Python.framework/Versions/3.4/bin
$ Sudo ./ipython kernelspec install-self
Vous pouvez maintenant ouvrir un bloc-notes Ipython, puis choisir un bloc-notes python 2.x ou 3.x.
L'idée ici est d'installer plusieurs noyaux ipython
. Voici les instructions pour l'anaconda. Si vous n'utilisez pas anaconda, j'ai récemment ajouté instructions using virtualenvs pur.
Depuis la version 4.1.0, anaconda inclut un package spécial nb_conda_kernels
qui détecte les environnements Conda avec des noyaux de portables et les enregistre automatiquement. Cela rend l'utilisation d'une nouvelle version de Python aussi simple que la création de nouveaux environnements Conda:
conda create -n py27 python=2.7 ipykernel
conda create -n py36 python=3.6 ipykernel
Après le redémarrage de jupyter notebook, les nouveaux noyaux sont disponibles via l'interface graphique. Veuillez noter que les nouveaux packages doivent être explicitement installés dans les nouveaux environnements. La section Gestion des environnements dans la documentation de conda fournit des informations supplémentaires.
Les utilisateurs qui ne souhaitent pas utiliser nb_conda_kernels
ou utilisent encore des versions antérieures d’anaconda peuvent procéder comme suit pour enregistrer manuellement les noyaux ipython.
configurer l'environnement python2.7
:
conda create -n py27 python=2.7
conda activate py27
conda install notebook ipykernel
ipython kernel install --user
configurer l'environnement python3.6
:
conda create -n py36 python=3.6
conda activate py36
conda install notebook ipykernel
ipython kernel install --user
Après cela, vous devriez pouvoir choisir entre python2
et python3
lors de la création d’un nouveau bloc-notes dans l’interface.
De plus, vous pouvez passer les options --name
et --display-name
à ipython kernel install
si vous souhaitez modifier les noms de vos noyaux. Voir ipython kernel install --help
pour plus d'informations.
Si vous utilisez Jupyter sur Python 3, vous pouvez configurer un noyau Python 2 comme suit:
python2 -m pip install ipykernel
python2 -m ipykernel install --user
http://ipython.readthedocs.io/fr/stable/install/kernel_install.html
Avec une version actuelle de Notebook/Jupyter, vous pouvez créer un noyau Python3 . Après avoir démarré une nouvelle application de cahier à partir de la ligne de commande avec Python 2, vous devriez voir une entrée «Python 3» dans le menu déroulant «Nouveau». Cela vous donne un bloc-notes qui utilise Python 3. Ainsi, vous pouvez avoir deux blocs-notes côte à côte avec différentes versions de Python.
mkdir -p ~/.ipython/kernels/python3
Créez ce fichier ~/.ipython/kernels/python3/kernel.json
avec ce contenu:
{
"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"
}
}
Redémarrez le serveur de notebook.
Ces instructions expliquent comment installer un noyau python2 et python3 dans des environnements virtuels distincts pour des utilisateurs non-anaconda. Si vous utilisez l'anaconda, veuillez trouver ma autre réponse pour une solution directement adaptée à l'anaconda.
Je suppose que vous avez déjà installé jupyter notebook
.
Commencez par vous assurer que vous disposez d'un python2
et d'un interprète python3
avec pip
disponible.
Sur Ubuntu, vous les installeriez en:
Sudo apt-get install python-dev python3-dev python-pip python3-pip
Ensuite, préparez et enregistrez les environnements du noyau
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
Pour simplifier les choses, vous pouvez ajouter des alias de shell pour la commande d'activation à votre fichier de configuration de shell. Selon le système et le shell que vous utilisez, il peut s’agir, par exemple, de ~/.bashrc
, ~/.bash_profile
ou ~/.zshrc
alias kernel2='source ~/py2_kernel/bin/activate'
alias kernel3='source ~/py3_kernel/bin/activate'
Après avoir redémarré votre Shell, vous pouvez désormais installer de nouveaux packages après avoir activé l'environnement que vous souhaitez utiliser.
kernel2
python -m pip install <pkg-name>
deactivate
ou
kernel3
python -m pip install <pkg-name>
deactivate
De mon installation de Linux j'ai fait:
Sudo ipython2 kernelspec install-self
Et maintenant, mon python 2 est de retour sur la liste.
Référence:
http://ipython.readthedocs.org/en/latest/install/kernel_install.html
METTRE À JOUR:
La méthode ci-dessus est maintenant obsolète et sera abandonnée à l'avenir. La nouvelle méthode devrait être:
Sudo ipython2 kernel install
Voici les étapes à suivre pour ajouter le noyau python2 à jupyter notebook:
ouvrez un terminal et créez un nouvel environnement Python 2: conda create -n py27 python=2.7
activer l'environnement: Linux source activate py27
ou windows activate py27
installez le noyau dans env: conda install notebook ipykernel
installez le noyau en dehors de env: ipython kernel install --user
fermez env: source deactivate
Bien qu'une réponse tardive espère que quelqu'un le trouvera utile: p
Utilisez Sudo pip3 install jupyter
pour installer jupyter pour python3 et Sudo pip install jupyter
pour installer jupyter notebook pour python2. Ensuite, vous pouvez appeler la commande ipython kernel install
pour permettre aux deux types de cahiers de choisir dans jupyter cahier.
Je regardai cette excellente information puis me demandai, depuis
siPyCharm utiliserait
REPONSE: Oui!
P.S. J'ai également installé Python Launcher for Windows.
Sous Windows 7, j'avais anaconda et anaconda3 installés . Je suis entré dans \Users\me\anaconda\Scripts
et exécuté
Sudo .\ipython kernelspec install-self
alors je suis entré dans \Users\me\anaconda3\Scripts
et exécuté
Sudo .\ipython kernel install
(J'ai jupyter kernelspec install-self is DEPRECATED as of 4.0. You probably want 'ipython kernel install' to install the IPython kernelspec.
)
Après avoir lancé jupyter notebook
(dans anaconda3), un menu déroulant bien ordonné placé dans le coin supérieur droit sous "Nouveau" me permet de choisir entre les noyaux Python 2 ou Python 3.
$ python -m ipykernel install --user --name=test2