[PYTHON] Vervollständige alles mit Jupyter ~ Einführung von nbdev ~

Dieser Artikel ist der 4. Tag nach dem Bakan Adventskalender 2019. Dies ist ein Artikel für Jupyterer. Bitte überprüfen Sie die Formel für Details, da einige Teile nicht gut verstanden werden.

Was ist nbdev?

Vielleicht kurz, es ist eine Python-Programmierumgebung, die die Aufgabe mit einem einzigen Jupyter-Notizbuch abschließt, indem sie die IDE-Rolle einschließt. Erstellt von fast.ai und derzeit in Entwicklung [fastai v2](https://forums.fast.ai/t/fastai-v2-read- Dies-vor-Posting-bitte / 53517) verwendet auch nbdev.

Gegenwärtig werden Versuche und Irrtümer wie EDA und Modellbau häufig mit Jupyter Notebook durchgeführt, und es besteht die Rolle des "Erforschens". Es ist jedoch üblich, die IDE in den folgenden Phasen zu verwenden.

nbdev versucht, es auf jupyter zu vervollständigen, indem es die folgenden Funktionen bereitstellt. ・ Erstellen einer Py-Datei ・ Erstellung von README ・ Visuelle Diff ・ Bestätigung und Korrektur von Zusammenführungskonflikten

(Vom Beamten unten entlehnt) image.png

Tutorial / Verwendung

Das Folgende wird auf dem Mac ausgeführt, aber unter Win ist das Verfahren dasselbe.

Installation ~ Bis Jupyter geöffnet wird

1- Installieren Sie mit dem folgenden Befehl vom Terminal aus. pip install nbdev

2- Offiziell erstellt eine Vorlage, erstellen Sie also ein darauf basierendes Repository. image.png

3-Klonen Sie das von Ihnen erstellte Repository. Git-Klon [URL unten]

image.png

4-Bearbeiten Sie settings.ini, um Informationen über das zu verknüpfende Repository hinzuzufügen. Kommentieren Sie die folgenden Elemente in settings.ini aus und bearbeiten Sie sie wie im Eingabebeispiel gezeigt.


Vor dem Bearbeiten
image.png


Einstiegsbeispiel
image.png

lib_name, user, description entsprechen dem erstellten Repository. Ich weiß nicht, worauf sich Schlüsselwörter beziehen, aber bitte geben Sie eine entsprechende Zeichenfolge ein.

5-Geben Sie den folgenden Befehl vom Terminal aus ein, um das Verzeichnis lib_name zu erstellen. nbdev_build_lib

image.png

(Im obigen Bild werden Pipfile und Pipfile.lock angezeigt, sie sind jedoch irrelevant und sollten ignoriert werden.)

6-Öffnen Sie das Jupyter-Notizbuch mit dem "Jupyter-Notizbuch".

Erstellen einer Py-Datei

Öffnen Sie 00_core.ipynb und führen Sie die folgenden Schritte aus, um ein Modul zu erstellen.

  1. Fügen Sie für das, was Sie in ein Python-Modul konvertieren möchten, am Anfang der Zelle # export hinzu.
  2. Geben Sie die folgenden zwei Zeilen in die Zelle ein und führen Sie sie aus. (Oder führen Sie nbdev_build_lib auf dem Terminal aus.) from nbdev.export import * notebook2script()


Das folgende Beispiel
image.png

Infolgedessen wird das, was Sie mit "# export" angeben, in "core.py" im Verzeichnis "lib_name" aufgeführt. Da core.py jedes Mal aktualisiert wird, wenn Sie Schritt 2 ausführen, können Sie es löschen, indem Sie die vorhandene Zelle zusätzlich zum Hinzufügen löschen.

image.png

README bearbeiten

Wenn Sie 99_index.ipynb öffnen, wird die folgende Vorlage angezeigt. Da die Zelle mit "# hide" ausgeblendet ist, importieren wir hier das Modul einschließlich des Moduls mit "# export".


Vorlage
image.png


Das folgende Beispiel
image.png

Führen Sie nach Abschluss der Bearbeitung nbdev_build_docs auf dem Terminal aus, um README.md im Verzeichnis zu aktualisieren.

Wenn Sie danach in das Remote-Repository pushen, wird Folgendes in der README-Datei auf github angezeigt.

image.png

abschließend

[Wie war es? ](Https://www.google.com/search?ei=BGXmXczDEIj90gTEkJ-IDg&q=%E3%81%84%E3%81%8B%E3%81%8C%E3%81%A7%E3%81%97 % E3% 81% 9F% E3% 81% 8B & oq =% E3% 81% 84% E3% 81% 8B% E3% 81% 8C% E3% 81% A7% E3% 81% 97% E3% 81% 9F% E3% 81% 8B & gs_l = psy-ab.3..0l9j0i7i30.0.0..1423 ... 0.0..0.158.225.1j1 ...... 0 ...... gws-wiz.dTg3WBRsT_o & ved = 0ahUKEwjM1ZHXzJnmAhWIvpQKHIB- EQ4dUDCAs & uact = 5) Ich habe die Gliederung von nbdev und einen Teil der Verwendung vorgestellt. Wir hoffen, dass dieser Artikel Ihnen die Möglichkeit gibt, nbdev auszuprobieren. Bitte überprüfen Sie die folgenden Referenzen, da einige Teile möglicherweise nicht abgedeckt sind.

Verweise

Nbdev: Verwenden Sie Jupyter-Notizbücher für allesWillkommen bei nbdevNbdev-DiskussionEine schrittweise Einführung in das Starten von nbdev - Exploratory ProgrammingEinführung in Git, die diesmal nicht frustriert wird, Teil 1

Referenzlink

Vacan, Inc.Vacan Adventskalender 2019

Referenzinformationen

Unser repräsentativer Direktor wird von Kaggle empfohlen.

Recommended Posts

Vervollständige alles mit Jupyter ~ Einführung von nbdev ~
Einfache Einführung der Spracherkennung mit Python
[EDA] Einführung von Sweetviz (Vergleich mit + Pandas-Profiling)
Einführung von PyGMT
Füllen Sie die Breite des Jupyter-Notizbuchs, um den Browser zu füllen
Einführung von Python
Spielen Sie mit der Implementierung der Pythonista 3-Benutzeroberfläche [Super Super Primer]
[Kapitel 5] Einführung in Python mit 100 Klopfen Sprachverarbeitung
[Kapitel 6] Einführung in Scicit-Learn mit 100 Klopfen Sprachverarbeitung
[Kapitel 3] Einführung in Python mit 100 Klopfen Sprachverarbeitung
[Kapitel 4] Einführung in Python mit 100 Klopfen Sprachverarbeitung
Mehrfachauswahl mit Jupyter
Kerzenbeine mit Plot + Jupyter
Einführung von trac (Windows + trac 1.0.10)
Einführung des Virtualenv-Wrappers
Simulation von Comp Gacha
Verwenden Sie nim mit Jupyter
Ich habe die grundlegende Grammatik von Python in Jupyter Lab geschrieben
[Raspi4; Einführung in den Sound] Stabile Aufzeichnung der Toneingabe mit Python ♪
Ich habe die Grundoperation von matplotlib in Jupyter Lab geschrieben