Verwenden von Python 2.x und Python 3.x in IPython Notebook


Answers

Wenn Sie Jupyter auf Python 3 ausführen , können Sie einen Python 2-Kernel wie folgt einrichten:

python2 -m pip install ipykernel

python2 -m ipykernel install --user

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

Question

Ich benutze IPython-Notizbücher und möchte in der Lage sein, ein 2.x oder 3.x Python-Notizbuch in IPython zu erstellen.

Ich hatte zunächst Anaconda. Mit Anaconda musste eine globale Umgebungsvariable geändert werden, um auszuwählen, welche Version von Python Sie wollen und dann konnte IPython gestartet werden. Dies ist nicht das, was ich gesucht habe, also habe ich Anaconda deinstalliert und jetzt habe ich meine eigene Installation mit MacPorts und PiP eingerichtet. Es scheint, dass ich noch benutzen muss

port select --set python <python version> 

um zwischen Python 2.x und 3.x umzuschalten. Das ist nicht besser als die Anaconda-Lösung.

Gibt es eine Möglichkeit zu wählen, welche Version von Python Sie verwenden möchten, nachdem Sie ein IPython-Notebook gestartet haben, vorzugsweise mit meinem aktuellen MacPorts-Build?




Unter Windows 7 hatte ich Anaconda und Anaconda3 installiert. Ich ging in \Users\me\anaconda\Scripts und ausgeführt

sudo .\ipython kernelspec install-self

Dann ging ich in \Users\me\anaconda3\Scripts und führte sie aus

sudo .\ipython kernel install

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

Nach dem Start von jupyter notebook (in jupyter notebook ) habe ich in der oberen rechten Ecke unter "Neu" ein ordentliches Dropdown-Menü bekommen, das mir die Wahl zwischen Python 2 oder Python 3 Kernel erlaubt.




Von meiner Linux Installation habe ich folgendes gemacht:

sudo ipython2 kernelspec install-self

Und jetzt ist mein Python 2 wieder auf der Liste.

Referenz:

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

AKTUALISIEREN:

Die obige Methode ist jetzt veraltet und wird in Zukunft gelöscht. Die neue Methode sollte sein:

sudo ipython2 kernel install




Verwenden Sie sudo pip3 install jupyter für die Installation von jupyter für python3 und sudo pip install jupyter für die Installation von jupyter notebook für python2. Dann können Sie den Befehl ipython kernel install aufrufen, um beide Arten von Notebooks zur Auswahl in jupyter notebook zu aktivieren.




In diesen Anweisungen wird erläutert, wie ein Python2- und Python3-Kernel in separaten virtuellen Umgebungen für Nicht-Anaconda-Benutzer installiert wird. Wenn Sie Anaconda verwenden, finden Sie bitte meine andere Antwort für eine Lösung, die direkt auf Anaconda zugeschnitten ist.

Ich nehme an, dass Sie bereits jupyter notebook installiert haben.

python2 Sie zunächst sicher, dass Sie einen python2 und einen python3 Interpreter mit pip Verfügung haben.

Auf ubuntu würdest du diese installieren durch:

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

Als nächstes bereiten Sie die Kernel-Umgebungen vor und registrieren Sie sie

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

Um die Dinge einfacher zu machen, können Sie Shell-Aliase für den Aktivierungsbefehl zu Ihrer Shell-Konfigurationsdatei hinzufügen. Abhängig von dem System und der Shell, die Sie verwenden, kann dies zB ~/.bashrc , ~/.bash_profile oder ~/.zshrc

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

Nach dem Neustart Ihrer Shell können Sie nun neue Pakete installieren, nachdem Sie die zu verwendende Umgebung aktiviert haben.

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

oder

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



Related