Ich verwende IPython-Notebooks und möchte in der Lage sein, ein 2.x- oder 3.x-Python-Notebook in IPython zu erstellen.
Ich hatte zunächst Anaconda. Bei Anaconda musste eine globale Umgebungsvariable geändert werden, um die gewünschte Python-Version auszuwählen, und IPython konnte gestartet werden. Dies war nicht das, wonach ich suchte, also habe ich Anaconda deinstalliert und jetzt meine eigene Installation mit MacPorts und PiP eingerichtet. Es scheint, dass ich noch verwenden muss
port select --set python <python version>
zwischen Python 2.x und 3.x umschalten. Das ist nicht besser als die Anaconda-Lösung.
Gibt es eine Möglichkeit, auszuwählen, welche Python-Version Sie verwenden möchten, nachdem Sie ein IPython-Notebook gestartet haben, vorzugsweise mit meinem aktuellen MacPorts-Build?
Es gibt eine Lösung, mit der ich meine MacPorts-Installation beibehalten kann, indem Sie die Ipython-Kernelspec konfigurieren.
Bedarf:
Für Python 2.x:
$ cd /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin
$ Sudo ./ipython kernelspec install-self
Für Python 3.x:
$ cd /opt/local/Library/Frameworks/Python.framework/Versions/3.4/bin
$ Sudo ./ipython kernelspec install-self
Jetzt können Sie ein Ipython-Notizbuch öffnen und dann ein Python 2.x- oder ein Python 3.x-Notizbuch auswählen.
Die Idee hier ist, mehrere ipython
-Kernel zu installieren. Hier sind Anweisungen für Anaconda. Wenn Sie keine Anaconda verwenden, habe ich kürzlich Anweisungen hinzugefügt, indem Sie reine Virtualenvs verwenden.
Anaconda enthält seit Version 4.1.0 ein spezielles Paket nb_conda_kernels
, das Conda-Umgebungen mit Notebook-Kerneln erkennt und automatisch registriert. Dies macht die Verwendung einer neuen Python-Version so einfach wie das Erstellen neuer Conda-Umgebungen:
conda create -n py27 python=2.7 ipykernel
conda create -n py36 python=3.6 ipykernel
Nach einem Neustart von Jupyter Notebook sind die neuen Kernel über die grafische Benutzeroberfläche verfügbar. Bitte beachten Sie, dass neue Pakete explizit in den neuen Umgebungen installiert werden müssen. Der Abschnitt Umgebungen verwalten in den Dokumenten von conda enthält weitere Informationen.
Benutzer, die nb_conda_kernels
nicht verwenden möchten oder noch ältere Versionen von Anaconda verwenden, können die folgenden Schritte zum manuellen Registrieren von Ipython-Kerneln verwenden.
konfigurieren Sie die python2.7
-Umgebung:
conda create -n py27 python=2.7
conda activate py27
conda install notebook ipykernel
ipython kernel install --user
konfigurieren Sie die python3.6
-Umgebung:
conda create -n py36 python=3.6
conda activate py36
conda install notebook ipykernel
ipython kernel install --user
Danach sollten Sie zwischen python2
wählen können.
und python3
beim Erstellen eines neuen Notizbuchs in der Benutzeroberfläche.
Außerdem können Sie die Optionen --name
und --display-name
an ipython kernel install
übergeben, wenn Sie die Namen Ihrer Kernel ändern möchten. Weitere Informationen finden Sie unter ipython kernel install --help
.
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/de/stable/install/kernel_install.html
Mit einer aktuellen Version des Notebook/Jupyter können Sie einen Python3-Kernel erstellen. Nach dem Starten einer neuen Notebook-Anwendung über die Befehlszeile mit Python 2 sollte im Dropdown-Menü „Neu“ der Eintrag „Python 3“ angezeigt werden. Dadurch erhalten Sie ein Notebook, das Python 3 verwendet. Sie können also zwei Notebooks nebeneinander mit verschiedenen Python-Versionen verwenden.
mkdir -p ~/.ipython/kernels/python3
Erstellen Sie diese Datei ~/.ipython/kernels/python3/kernel.json
mit diesem Inhalt:
{
"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"
}
}
Starten Sie den Notebook-Server neu.
Diese Anweisungen erläutern die Installation eines Python2- und Python3-Kernels in separaten virtuellen Umgebungen für Benutzer, die keine Anaconda sind. Wenn Sie Anaconda verwenden, finden Sie meine andere Antwort für eine Lösung, die direkt auf Anaconda zugeschnitten ist.
Ich gehe davon aus, dass Sie jupyter notebook
bereits installiert haben.
Stellen Sie zunächst sicher, dass Sie einen python2
und einen python3
-Interpreter mit pip
verfügbar haben.
Auf Ubuntu würden Sie 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
Der Einfachheit halber sollten Sie der Shell-Konfigurationsdatei Shell-Aliasnamen für den Aktivierungsbefehl hinzufügen. Abhängig von dem System und der Shell, die Sie verwenden, kann dies z. ~/.bashrc
, ~/.bash_profile
oder ~/.zshrc
alias kernel2='source ~/py2_kernel/bin/activate'
alias kernel3='source ~/py3_kernel/bin/activate'
Nach dem Neustart der Shell können Sie jetzt neue Pakete installieren, nachdem Sie die Umgebung aktiviert haben, die Sie verwenden möchten.
kernel2
python -m pip install <pkg-name>
deactivate
oder
kernel3
python -m pip install <pkg-name>
deactivate
Von meiner Linux-Installation habe ich gemacht:
Sudo ipython2 kernelspec install-self
Und jetzt ist mein Python 2 wieder auf der Liste.
Referenz:
http://ipython.readthedocs.org/de/latest/install/kernel_install.html
UPDATE:
Die obige Methode ist nun veraltet und wird in Zukunft fallen gelassen. Die neue Methode sollte sein:
Sudo ipython2 kernel install
Gehen Sie folgendermaßen vor, um den Python2-Kernel zu Jupyter Notebook hinzuzufügen:
Öffnen Sie ein Terminal und erstellen Sie eine neue Python 2-Umgebung: conda create -n py27 python=2.7
aktiviere die Umgebung: Linux source activate py27
oder Windows activate py27
installieren Sie den Kernel in der Umgebung: conda install notebook ipykernel
installieren Sie den Kernel außerhalb der Umgebung: ipython kernel install --user
schließe die Umgebung: source deactivate
Obwohl eine späte Antwort hoffe, findet jemand es nützlich: p
Verwenden Sie Sudo pip3 install jupyter
zum Installieren von jupyter für python3 und Sudo pip install jupyter
zum Installieren von jupyter notebook für python2. Anschließend können Sie den Befehl ipython kernel install
aufrufen, damit beide Notizbuchtypen in Jupyter Notizbuch ausgewählt werden können.
Ich habe mir diese exzellente Info angesehen und dann wunderte sich, da
ifPyCharm würde verwenden
ANTWORT: Ja!
P.S. Ich habe auch Python Launcher für Windows installiert.
Unter Windows 7 hatte ich Anaconda und Anaconda3 installiert. Ich ging in \Users\me\anaconda\Scripts
und führte sie aus
Sudo .\ipython kernelspec install-self
dann ging ich in \Users\me\anaconda3\Scripts
und führte 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 anaconda3) habe ich in der oberen rechten Ecke unter "Neu" ein ordentliches Dropdown-Menü erhalten, in dem ich zwischen Python 2 oder Python 3-Kerneln wählen kann.
$ python -m ipykernel install --user --name=test2