[PYTHON] Koexistenz von Anaconda 2 und Anaconda 3 in Jupyter + Bonus (Julia)

(PS2016/1/13) Ich bin süchtig nach Jupyter, seit ich gelesen habe Jupyter kommt so schnell, seien Sie also auf Sie vorbereitet (IPython Notebook + R).

Ich verwende pyenv, um Anaconda 2 und Anaconda 3 koexistieren zu lassen, aber wenn Sie in Jupyter zwischen Anaconda-Versionen wechseln, beenden Sie Jupyter, wechseln Sie mit pyenv und starten Sie erneut! Es wurde mühsam zu tun. Ich wünschte, ich könnte einfach über das Menü Neu zwischen Python 2 und Python 3 wechseln! Ich dachte, also habe ich versucht, diesen Bereich festzulegen. (Da ich neu bei Jupyter bin, lass es mich bitte in den Kommentaren wissen, wenn es einen einfacheren Weg gibt ...)

Umgebung

Das folgende Python ist in pyenv installiert.

Junbi

Jupyter spiegelt die Python-Umgebung wider, die von pyenv angewendet wird.

Bei der Verwendung von Jupyter stört es jedoch. Ich möchte problemlos zwischen Anaconda 2 und Anaconda 3 wechseln können. Daher werde ich einen symbolischen Link wie folgt einfügen, damit jede Anaconda direkt gestartet werden kann.

cd /usr/local/bin/ #Wo der Pfad ist
ln -s ~/.pyenv/versions/anaconda-2.4.0/bin/python ./jupyter-python2
ln -s ~/.pyenv/versions/anaconda3-2.4.0/bin/python ./jupyter-python3

Ich mache das für eine Datei namens "kernel.json", die ich gerade schreiben werde. Gibt es einen besseren Weg ...?

Lassen Sie nun Python 2 und Python 3 zusammen im Menü Neu angezeigt werden.

Fügen Sie Jupyter den Python-Kernel hinzu

Drücken Sie zuerst den folgenden Befehl.

mkdir -p ~/.ipython/kernels/python3
mkdir ~/.ipython/kernels/python2

touch ~/.ipython/kernels/python3/kernel.json
touch ~/.ipython/kernels/python2/kernel.json

Auf diese Weise können Sie Kernel hinzufügen, indem Sie ein ".ipython / kernels" -Verzeichnis in Ihrem Home-Verzeichnis und ein Verzeichnis mit einer "kernel.json" -Datei darunter erstellen.

Bearbeiten Sie nun ~ / .ipython / kernels / python2 / kernel.json mit Ihrem bevorzugten Editor wie folgt.

python2/kernel.json


{
    "display_name": "Python 2"
    "language": "python"
    "argv": [
        "jupyter-python2",
        "-m", "ipykernel",
        "-f", "{connection_file}"
    ]
}

Auf diese Weise können Sie Befehle und deren Argumente im Feld "argv" angeben. Wenn Sie also früher "jupyter-python2" angeben, startet Jupyter Anaconda 2 durch Auswahl von "Python 2", unabhängig davon, welches Python in pyenv angewendet wird.

Hier bin ich in den Teil "ipykernel" gekommen. Wenn ich mir verschiedene Sites anschaue, wird dieser Teil als "IPython.kernel" beschrieben. Als ich dasselbe in meiner Umgebung tat, erhielt ich die folgende Warnung, die nicht gut zu sein schien.

ShimWarning: The `IPython.kernel` package has been deprecated.

Aus der Warning-Anweisung, die zu diesem Zeitpunkt ausgegeben wurde, ging die Atmosphäre von "Nein, importiere den ipykernel" hervor. Wenn ich also "ipykernel" so wie es jetzt ist, wird die Warnung nicht angezeigt. Es hat sich in seiner jetzigen Form niedergelassen.

Basierend darauf schreibe ich auch "python3" wie folgt.

python3/kernel.json


{
    "display_name": "Python 3"
    "language": "python"
    "argv": [
        "jupyter-python3",
        "-m", "ipykernel",
        "-f", "{connection_file}"
    ]
}

Dies sollte es Ihnen wahrscheinlich ermöglichen, innerhalb Ihres Notebooks zu wechseln, ohne zu pyenv zurückkehren zu müssen.

(Addition) conda + jupyter kernelspec

y__sama gab mir einige Informationen in den Kommentaren, so dass ich die oben genannten verrückten Dinge nicht tun muss, also werde ich sie hier hinzufügen.

Übrigens gibt es in der Gegend von Anaconda einen Befehl namens "conda". Ich wusste, dass es existiert, aber ich wusste nicht, was es war. (Eh.) Einfach ausgedrückt scheint dies auch eine virtuelle Umgebung zu schaffen.

Mit der "conda" von anaconda3 könnten wir beispielsweise eine virtuelle Umgebung "jupyter-py2" wie "~ / .pyenv / version / anaconda3-2.4.0 / envs / jupyter-py2 /" erstellen.

Es scheint, dass die virtuelle Python-Umgebung aktiv ist und der Kernel automatisch zu ~ / Library / Jupyter / kernels / hinzugefügt wird, indem der folgende Befehl eingegeben wird.

jupyter kernelspec install-self --user

(Ergänzung) Oh, das heißt

Als ich meine Nutzung und den Inhalt der generierten "kernel.json" betrachtete, war ich der Meinung, dass es nicht notwendig war, eine virtuelle Umgebung mit "conda" zu erstellen. So sieht es jetzt (vorerst) so aus:

Trotzdem müssen Sie nur "jupyter kernelspec install-self --user" wissen. Danke fürs Lernen.

Ich möchte auch Julia hinzufügen!

An dieser Stelle möchten Sie auch den Julia-Kernel hinzufügen. Ich denke, Jupyter ist auch nützlich, um Julia zu studieren, was heutzutage ein heißes Thema ist, also werde ich es bei dieser Gelegenheit hinzufügen.

Julia Installation

Ich habe die dmg-Datei von Julialang.org/downloads gelöscht und installiert. Es scheint, dass Sie es mit Homebrew tun können, aber ich habe den Eindruck, dass der Build fehlgeschlagen ist oder Probleme verursacht hat, daher wird dies empfohlen (lacht)

Fügen Sie danach den Alias "julia" in "/ Applications / Julia-0.4.2.app / Contents / Resources / julia / bin / julia" ein.

IJulia installieren

Dann installieren Sie IJulia. Starten Sie Julia und geben Sie Folgendes ein:

Pkg.add("IJulia")

In meinem Fall wurde dann gegen Ende der folgende Fehler ausgegeben.

===============================[ ERROR: IJulia ]================================

LoadError: __precompile__(true) but require failed to create a precompiled cache file
while loading /Users/"username"/.julia/v0.4/IJulia/deps/build.jl, in expression starting on line 2

================================================================================

=====================================[ BUILD ERRORS ]=====================================

WARNING: IJulia had build errors.

 - packages with build errors remain installed in /Users/"username"/.julia/v0.4
 - build the package(s) and all dependencies with `Pkg.build("IJulia")`
 - build a single package by running its `deps/build.jl` script

==========================================================================================

Ich dachte, das wäre ... aber es hat funktioniert, wenn ich Folgendes getan habe. Warum? Lol

Pkg.rm("IJulia")
Pkg.add("IJulia")

Starten Sie das Jupyter-Notizbuch von Julia

Starten Sie an dieser Stelle Julia und führen Sie die folgenden Schritte aus, um das Notizbuch wie gewohnt zu starten.

using IJulia
notebook()

Es wurde wie folgt zum Menü Neu hinzugefügt.

ijulia.png

Selbst wenn ich danach das Jupyter-Notizbuch in Python geöffnet habe, gab es im Menü "Neu" einen Julia-Eintrag. Es scheint also nicht mehr erforderlich zu sein, "kernel.json" für julia wie zuvor zu schreiben. (Falls erforderlich, fügen Sie zu diesem Zeitpunkt einen Stil hinzu lol)

Es ist also sonnig und ich kann in Julia Notizbücher schreiben! Danke für deine harte Arbeit.

(Ergänzung) Übrigens

Auf diese Weise hinzugefügte Julia-Kernel werden in ~ / Library / Jupyter / gespeichert.

Leute wie ich, die sich über Details ärgern, wie zum Beispiel "Julia 0.4.2" im NEUEN Menü des Notizbuchs in "Julia" ändern zu wollen, sollten sich hier "kernel.json" ansehen.

References

Dies sind die Artikel und Websites, die um diese Zeit gepflegt wurden. Ich hoffe das ist auch hilfreich!

Recommended Posts

Koexistenz von Anaconda 2 und Anaconda 3 in Jupyter + Bonus (Julia)
Über Importfehler von numpy und scipy in anaconda
Koexistenz von Pyenv und Autojump
Koexistenz von Python2 und 3 mit CircleCI (1.0)
Koexistenz von Flask-Protokollierung und anderer Modulprotokollierung
Screenshots des Webfischens mit Selen und Chrom.
Trennung von Design und Daten in matplotlib
Zusammenfassung der Module und Klassen in Python-TensorFlow2-
Projekt Euler # 1 "Vielfaches von 3 und 5" in Python
Zusammenfassung der 2016 erstellten OSS-Tools und -Bibliotheken
Koexistenz von Fcitx und Zoom ~ Mit japanischer Lokalisierung ~
Angeben des Jupyter Notebook-Browsers in einer Windows-Umgebung
Der Header ist falsch ausgerichtet mit read_csv () und read_table () von Pandas
Erläuterung der Bearbeitungsentfernung und Implementierung in Python
Installation von Anaconda3
Python 3.3 mit Anaconda
Bash in Jupyter
"Lineare Regression" und "Probabilistische Version der linearen Regression" in Python "Bayes lineare Regression"
Verarbeitung von CSV-Daten in voller und halber Breite in Python
Geben Sie die frühere Version des Chrome-Treibers mit Anaconda Update / Installation an
Berechnung der Standardabweichung und des Korrelationskoeffizienten in Python
Unterschied zwischen Ruby und Python in Bezug auf Variablen
[Python] Berechnung der Differenz von Datum und Zeit in Monaten und Jahren
Speichern Sie .py- und .html-Dateien automatisch im Jupyter-Notizbuch.
Einstellungen für die einfache Auswahl mehrerer Kernel in Jupyter
Persönliche Hinweise zur Integration von vscode und anaconda
Beispiel für das Abrufen des Modulnamens und des Klassennamens in Python
Zusammenfassung der Datumsverarbeitung in Python (Datum / Uhrzeit und Datum)
Erstellen einer virtuellen Anaconda-Umgebung für die Verwendung mit Azure Machine Learning und Verknüpfen mit Jupyter