[PYTHON] Wie man Jupytext gut einstellt, wenn man Code als Team verwaltet

Es ist schmerzhaft, wenn jemand anderes "~ / .jupyter / jupyter_notebook_config.py" mit den automatischen Konvertierungseinstellungen von jupytext bearbeitet. Ich habe eine gute Einstellungsmethode, also werde ich sie teilen.

Erste Schlussfolgerung

Platzieren Sie eine Datei mit dem folgenden Inhalt im Stammverzeichnis des Projekts.

jupytext.yml


default_jupytext_formats: "ipynb,py:percent"

Was ist Jupytext?

jupytext ist ein Tool, das ".ipynb" -Dateien in ".py", ".R", ".jl", ".md", ".Rmd" usw. konvertiert. Durch die Einstellung funktioniert es mit jupyter lab und konvertiert es automatisch, wenn eine Datei gespeichert wird. Es kann auch über die Befehlszeile ausgeführt werden und ist daher vielseitig einsetzbar.

Es gibt ein anderes Tool zum Konvertieren in ".ipynb-> .py", "nbconvert", aber es ist sehr wichtig, es zu entwickeln, um es beim Speichern automatisch zu konvertieren.

.ipynb <-> .py-Konvertierung

Das Analysieren mit mehreren Personen zeigt die schlechten Punkte von ".ipynb". Dort sind einige

Es ist schwer zu teilen. Eine der Lösungen hierfür ist die Konvertierung in das Python-Format. Dies macht das Notebook leicht und leicht zu lesen, was eine nette Geste ist. Sie können das Notebook auch problemlos reproduzieren, indem Sie .py-> .ipynb konvertieren.

Umgebung

#Pipenv-Umgebung
python 3.8.5
jupyterlab 2.2.6

Verwendungsverfahren

1. Installation von Jupytext

Wenn Sie pipenv nicht verwenden, ersetzen Sie es durch ein gutes.

$ pipenv install jupytext

2. Erstellen Sie ein Jupyter-Labor

Wenn Sie jupyter lab nach der Installation starten, werden Sie gefragt, ob Sie es erstellen möchten. Erstellen Sie es also einfach. Wenn Sie manuell erstellen möchten, verwenden Sie "pipenv run jupyter lab build".

Wie einstellen

4 Arten von Einstellmethoden

Es gibt vier Einstellmethoden.

  1. Bearbeiten Sie die .ipynb-Metadaten
  2. jupytext --set-formats ipynb,py notebook.ipynb
  3. Bearbeiten Sie ~ / .jupyter / jupyter_notebook_config.py
  4. Erstellen Sie eine Jupytext-Konfigurationsdatei

1 und 2 müssen für jede Datei festgelegt werden, was problematisch ist. Der Betrieb kann für 3 nicht garantiert werden, da Dateien außerhalb des Repositorys ausgeführt werden müssen.

Dieses Mal werde ich über Nr. 4 erklären. Diese Methode ist nett, da sie bereits festgelegt ist, auch wenn eine andere Person das Repository abruft.

Konfigurationsdatei erstellen

Erstellen Sie eine Konfigurationsdatei mit einem der folgenden Namen. .jupytext jupytext.toml jupytext.yml jupytext.yaml jupytext.json jupytext.py Oder das Format mit "." Am Anfang

Wenn Sie diese Datei im Stammverzeichnis des Projekts ablegen, wird sie automatisch gelesen. Bitte überprüfen Sie den Referenzlink für Details zum Standort.

Die automatische Konvertierung funktioniert wie folgt. Diesmal habe ich es in Yaml geschrieben.

jupytext.yml


default_jupytext_formats: "ipynb,py:percent"

In Anbetracht der Verwendung mit VSCode und PyCharm wird für Python-Dateien das Format "py: Prozent" empfohlen.

Daher denke ich, dass die Verzeichnisstruktur so aussehen wird.

.
├── Pipfile
├── Pipfile.lock
├── notebook.ipynb  #Notizbuch erstellt
├── notebook.py  #Konvertierte und generierte Python
└── jupytext.yml  #Einstellungsdatei

Zusammenfassung

das ist alles!

Referenz

Configuration — Jupytext documentation

Recommended Posts

Wie man Jupytext gut einstellt, wenn man Code als Team verwaltet
Qiita (1) Wie schreibe ich einen Codenamen?
So tarnen Sie eine ZIP-Datei als PNG-Datei
So codieren Sie eine Drohne mithilfe der Bilderkennung
Wie man sich erinnert, wenn man ein Wort vergisst
So richten Sie einen lokalen Entwicklungsserver ein
[Linux] [Kernelmodul] Übergeben von Parametern als Argumente beim Laden eines ladbaren Kernelmoduls
Verwalten von Argumenten beim Implementieren eines Python-Skripts als Befehlszeilentool
So richten Sie eine Python-Umgebung mit pyenv ein
So zeigen Sie DataFrame als Tabelle in Markdown an
So erstellen Sie ein Python-Paket mit VS Code
So drucken Sie Zeichen als Tabelle mit der Druckfunktion von Python
Verwendung von cuML SVC als Gridsearch-CV-Klassifikator
Seien Sie vorsichtig, wenn Sie pandas.DataFrame Series als Spalte zuweisen
So registrieren Sie ein Paket in PyPI (Stand September 2017)
So verwenden Sie eine andere Datei als .fabricrc als Konfigurationsdatei
So importieren Sie NoteBook als Modul in Jupyter (IPython)
Wie kann doi nützlich sein, wenn man fragt, wie man Code schreibt?
Setzen Sie VSCode auf PyCharm.
Wie man ein Terminal hackt
Ansible-Modul So fügen Sie die als Parameter übergebene Zeichenfolge JSON beim Schreiben in das Wörterbuch ein
So legen Sie eine Verknüpfung fest, um in IBus zwischen voller und halber Breite zu wechseln
[Python] Speichern einer CSV-Datei als eindimensionale Array-Daten
So stellen Sie eine Webanwendung in der Alibaba Cloud als Freiberufler bereit
So bekommen Sie einen Ingenieur aus Ihren 30ern
Wie erstelle ich eine japanisch-englische Übersetzung?
So setzen Sie einen symbolischen Link
Wie man einen lockeren Bot macht
So erstellen Sie ein Conda-Paket
Code, der zufällig eine Punktzahl generiert
Wie erstelle ich einen Crawler?
So erstellen Sie eine rekursive Funktion
So erstellen Sie eine virtuelle Brücke
So fügen Sie sudo hinzu, wenn Sie das Debug ausführen
Wie erstelle ich eine Docker-Datei?
[Blender] So erstellen Sie ein Blender-Plug-In
So löschen Sie einen Docker-Container
Wie erstelle ich einen Crawler?
So führen Sie TensorFlow 1.0-Code in 2.0 aus
So erstellen Sie eine Konfigurationsdatei
[Python] Was ist ein formales Argument? So stellen Sie den Anfangswert ein
So installieren Sie das Python-Paket in einer lokalen Umgebung als allgemeiner Benutzer
So richten Sie ein Jupyter-Notebook am SSH-Ziel ein (AWS EC2)
So schreiben Sie eine Zeichenfolge, wenn Python mehrere Zeilen enthält
[Entwicklungsumgebung] So erstellen Sie einen Datensatz in der Nähe der Produktionsdatenbank