Ich verwende Jupyter Notebook in einem Browser für die Python-Programmierung. Ich habe Anaconda (Python 3.5) installiert. Aber ich bin mir ziemlich sicher, dass Jupyter meine Python-Befehle mit dem nativen Python-Interpreter ausführt und nicht mit Anaconda. Wie kann ich es ändern und Anaconda als Dolmetscher verwenden?
Vielen Dank!
Ubuntu 16.10 - Anaconda3
import sys
sys.executable
wird Ihnen den Dolmetscher geben. Sie können den gewünschten Interpreter auswählen, wenn Sie ein neues Notizbuch erstellen. Stellen Sie sicher, dass der Pfad zu Ihrem Anaconda-Interpreter zu Ihrem Pfad hinzugefügt wird (irgendwo in Ihrem bashrc/bash_profile).
Zum Beispiel habe ich die folgende Zeile in meinem .bash_profile:
export PATH="$HOME/anaconda3/bin:$PATH"
from platform import python_version
print(python_version())
Dadurch erhalten Sie die genaue Version von Python, die Ihr Skript ausführt. zB Ausgabe:
3.6.5
import sys
print(sys.executable)
print(sys.version)
print(sys.version_info)
Unten zu sehen: - Ausgabe, wenn ich JupyterNotebook außerhalb eines CONDA-Venvs starte
/home/dhankar/anaconda2/bin/python
2.7.12 |Anaconda 4.2.0 (64-bit)| (default, Jul 2 2016, 17:42:40)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]
sys.version_info(major=2, minor=7, micro=12, releaselevel='final', serial=0)
Unten zu sehen, wenn ich dasselbe JupyterNoteBook in einem CONDA Venv verwende, das mit dem Befehl erstellt wurde -
conda create -n py35 python=3.5 ## Here - py35 , is name of my VENV
in meinem Jupyter-Notizbuch wird gedruckt: -
/home/dhankar/anaconda2/envs/py35/bin/python
3.5.2 |Continuum Analytics, Inc.| (default, Jul 2 2016, 17:53:06)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]
sys.version_info(major=3, minor=5, micro=2, releaselevel='final', serial=0)
auch wenn Sie bereits verschiedene VENVs mit unterschiedlichen Versionen von Python) erstellt haben, wechseln Sie zum gewünschten Kernel, indem Sie KERNEL >> CHANGE KERNEL im Menü JupyterNotebook ... JupyterNotebookScreencapture auswählen =
Ipykernel auch in einer bestehenden CONDA Virtual Environment installieren -
$ /path/to/python -m ipykernel install --help
usage: ipython-kernel-install [-h] [--user] [--name NAME]
[--display-name DISPLAY_NAME]
[--profile PROFILE] [--prefix PREFIX]
[--sys-prefix]
Installieren Sie die IPython-Kernel-Spezifikation.
optionale Argumente: -h, --help zeigt diese Hilfemeldung an und beendet --user Install für den aktuellen Benutzer anstelle des systemweiten Namens --name NAME Geben Sie einen Namen für die Kernelspezifikation an. Dies ist erforderlich, um mehrere IPython-Kernel gleichzeitig zu haben. --display-name DISPLAY_NAME Geben Sie den Anzeigenamen für die Kernelspezifikation an. Dies ist hilfreich, wenn Sie mehrere IPython-Kernel haben. --profile PROFILE Geben Sie ein zu ladendes IPython-Profil an. Dies kann verwendet werden, um benutzerdefinierte Versionen des Kernels zu erstellen. --prefix PREFIX Geben Sie ein Installationspräfix für die Kernelspezifikation an. Dies ist erforderlich, um die Installation an einem anderen als dem Standardspeicherort durchzuführen, z. B. in einer conda/virtual-env. --sys-prefix Installiere in Pythons sys.prefix. Abkürzung für --prefix = '/ Users/bussonniermatthias/anaconda'. Zur Verwendung in conda/virtual-envs.
Vorausgesetzt, Sie haben ein falsches Backend-System, können Sie das Backend kernel
ändern, indem Sie ein neues erstellen oder den vorhandenen kernel.json
im Ordner kernels
Ihres jupyter-Datenpfads jupyter --paths
bearbeiten. Sie können mehrere Kernel (R, Python2, Python3 (+ virtualenvs), Haskell) haben, z. Sie können einen Anaconda
-spezifischen Kernel erstellen:
$ <anaconda-path>/bin/python3 -m ipykernel install --user --name anaconda --display-name "Anaconda"
Sollte einen neuen Kernel erstellen:
<jupyter-data-dir>/kernels/anaconda/kernel.json
{
"argv": [ "<anaconda-path>/bin/python3", "-m", "ipykernel", "-f", "{connection_file}" ],
"display_name": "Anaconda",
"language": "python"
}
Sie müssen sicherstellen, dass das Paket ipykernel
in der anaconda-Distribution installiert ist.
Auf diese Weise können Sie einfach zwischen den Kerneln wechseln und verschiedene Notebooks mit verschiedenen Kerneln verwenden.