Woher wissen, was in Jupyter Notebook läuft?

98

Ich benutze 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 und nicht mit Anaconda ausführt. Wie kann ich es ändern und Anaconda als Dolmetscher verwenden?

Ubuntu 16.10 - Anaconda3

Sieger
quelle
2
Sie könnten die Kernel-Einstellungen für die Jupyter-Konfiguration finden und die ausführbare Python-Datei ändern
OneCricketeer

Antworten:

170
from platform import python_version

print(python_version())

Dadurch erhalten Sie die genaue Version von Python, in der Ihr Skript ausgeführt wird. zB Ausgabe:

3.6.5
Davies Odu
quelle
1
Dies sollte als Antwort auf die gestellte Frage ausgewählt werden.
Dunkler Templer
4
Das OP fragt, welche ausführbare Datei ausgeführt wird (System / Anaconda), nicht welche Version. Die Antwort von P. Camilleri ist die Lösung
MrMartin
65
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 wurde (höchstwahrscheinlich irgendwo in Ihrem bashrc / bash_profile).

Zum Beispiel hatte ich in meinem .bash_profile die folgende Zeile, die ich manuell hinzugefügt habe:

export PATH="$HOME/anaconda3/bin:$PATH"

BEARBEITEN : Wie in einem Kommentar erwähnt, ist dies nicht der richtige Weg, um dem Pfad eine Anakonda hinzuzufügen. Wenn Sie Anacondas Dokument zitieren, sollte dies stattdessen nach der Installation erfolgen, indem Sie Folgendes verwenden conda init:

Soll ich Anaconda zum macOS- oder Linux-Pfad hinzufügen?

Wir empfehlen, Anaconda nicht manuell zum PATH hinzuzufügen. Während der Installation werden Sie gefragt, ob das Installationsprogramm Anaconda3 durch Ausführen von conda init initialisieren soll. Wir empfehlen "Ja". Wenn Sie "Nein" eingeben, ändert conda Ihre Shell-Skripte überhaupt nicht. Um nach Abschluss des Installationsvorgangs zu initialisieren, führen Sie zuerst source <path to conda>/bin/activateund dann ausconda init

P. Camilleri
quelle
Ich führe dies in Spyder aus und habe keine Ergebnisse, aber Jupyter ist in Ordnung. Ich wundere mich warum?
TokyoToo
1
Die Conda-Dokumente empfehlen, das PFAD nicht so zu ergänzen.
AMC
@AMC du hast recht, danke. Ich habe bearbeitet, um auf conda init
P. Camilleri
38
 import sys
 print(sys.executable)
 print(sys.version)
 print(sys.version_info)

Unten gesehen: - Ausgabe, wenn ich JupyterNotebook außerhalb eines CONDA-Venv ausführe

/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 mit dem Befehl erstellten CONDA Venv ausführe -

conda create -n py35 python=3.5 ## Here - py35 , is name of my VENV

In meinem Jupyter-Notizbuch wird Folgendes 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 Python-Versionen erstellt haben, wechseln Sie zum gewünschten Kernel, indem Sie im Menü JupyterNotebook KERNEL >> KERNEL ÄNDERN wählen ... JupyterNotebookScreencapture

Auch um ipykernel in einer vorhandenen virtuellen CONDA-Umgebung zu installieren -

http://ipython.readthedocs.io/en/stable/install/kernel_install.html#kernels-for-different-environments

Quelle --- https://github.com/jupyter/notebook/issues/1524

 $ /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-Kernelspezifikation.

Optionale Argumente: -h, --help zeigt diese Hilfemeldung an und beendet --user Installation für den aktuellen Benutzer anstelle des systemweiten --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 an einem nicht standardmäßigen Speicherort wie einer Conda / Virtual-Env zu installieren. --sys-prefix In Pythons sys.prefix installieren. Abkürzung für --prefix = '/ Users / bussonniermatthias / anaconda'. Zur Verwendung in conda / virtual-envs.

Rohit Dhankar
quelle
0

Angenommen, Sie haben das falsche Backend-System, können Sie das Backend ändern, kernelindem Sie ein neues erstellen oder das vorhandene kernel.jsonim kernelsOrdner Ihres Jupyter-Datenpfads bearbeiten jupyter --paths. Sie können mehrere Kernel haben (R, Python2, Python3 (+ virtualenvs), Haskell), z. B. können Sie einen Anacondabestimmten 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 ipykernelPaket in der Anaconda-Distribution installiert ist.

Auf diese Weise können Sie einfach zwischen Kerneln wechseln und unterschiedliche Notebooks mit unterschiedlichen Kerneln verwenden.

Ein Champion
quelle
Weitere Kernelspecs finden Sie in den IPython-Kernel-Installationsdokumenten
Thomas K,
-1

Erstellen einer virtuellen Umgebung für Jupyter Notebooks

Eine minimale Python-Installation ist

sudo apt install python3.7 python3.7-venv python3.7-minimal python3.7-distutils python3.7-dev python3.7-gdbm python3-gdbm-dbg python3-pip

Dann können Sie die Umgebung erstellen und verwenden

/usr/bin/python3.7 -m venv test
cd test
source test/bin/activate
pip install jupyter matplotlib seaborn numpy pandas scipy
# install other packages you need with pip/apt
jupyter notebook
deactivate

Mit können Sie einen Kernel für Jupyter erstellen

ipython3 kernel install --user --name=test
Daisuke Aramaki
quelle