[PYTHON] Git-Management von Jupyter Notebook (ipynb) Unterschieden in JupyterLab für einfache Anzeige

TL;DR

Als ich mit der Analyse mit Jupyter Notebook fortfuhr, wollte ich die Version verwalten und sie mit Git verwalten, aber als ich normal fortfuhr, war der Unterschied aufgrund der Metadaten von Notebook sehr schwer zu erkennen, also JupyterLabs jupyterlab-git und Ich habe die Erweiterung nbdime verwendet, um die Unterschiede besser erkennen zu können.

Erstellen Sie eine JupyterLab-Umgebung

In diesem Artikel verwenden wir die folgende Umgebung.

Die für die Versionskontrolle des Jupyter-Notebooks erforderlichen JupyterLab-Erweiterungen lauten wie folgt.

Umgebung

Erstellen Sie die folgenden 2 Dateien.

Dockerfile


FROM gcr.io/kaggle-images/python:v74

RUN apt-get update && \
    apt-get install -y git \
    curl

RUN curl -sL https://deb.nodesource.com/setup_12.x | bash - &&\
    apt-get install -y nodejs

RUN pip install -U pip \
    jupyterlab && \
    pip install jupyterlab-git

RUN jupyter lab build

docker-compose.yml


version: "3"
services:
  jupyter:
    build: .
    volumes:
      - $PWD:/tmp/work
    working_dir: /tmp/work
    ports:
      - 8888:8888
    command: jupyter lab --ip=0.0.0.0 --allow-root --no-browser

Erstellen Sie ein Docker-Image

Erstellen Sie nach dem Erstellen der beiden oben genannten Dateien im selben Verzeichnis.

$ docker-compose build

Container starten

Starten Sie den Container nach dem Bau.

$ docker-compose up

Nach dem Booten können Sie auf http: // localhost: 8888 / zugreifen und ein Token eingeben, um auf JupyterLab zuzugreifen. Das Token wird nach dem Start ausgegeben, z.

Aktivieren Sie den Erweiterungsmanager

Aktivieren Sie nach dem Start den Exxtension Manager.

image.png Es sind zwei Erweiterungen installiert. image.png

Git-Versionsverwaltung von Notebook

Klonen Sie das Git-Repository

Klonen Sie das erforderliche Repository. Wenn Sie bereits ein Notebook usw. haben, machen Sie git init usw.

image.png

Geben Sie die URL des Repositorys ein image.png

Erstellen Sie ein Notizbuch (test.ipynb) und führen Sie das erste Commit durch.

$ git config --global user.email "[email protected]"
$ git config --global user.name "Your Name"
$ git add test.ipynb
$ git commit -m "first commit"

Angenommen, Sie fahren nach dem ersten Festschreiben mit der Analyse in Notebook fort. Angenommen, Sie fügen den Code df.head () hinzu.

Differenzanzeige mit Git Diff

Wenn Sie mit dem Befehl "git diff" prüfen, werden zunächst die Unterschiede wie die Notebook-Metadaten wie unten gezeigt angezeigt, was sehr schwer zu verstehen ist.

# git diff
diff --git a/test.ipynb b/test.ipynb
index f6c1f17..5af6074 100644
--- a/test.ipynb
+++ b/test.ipynb
@@ -2,7 +2,7 @@
  "cells": [
   {
    "cell_type": "code",
-   "execution_count": 1,
+   "execution_count": 6,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -21,7 +21,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 4,
+   "execution_count": 7,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -30,12 +30,164 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 5,
+   "execution_count": 8,
    "metadata": {},
    "outputs": [],
    "source": [
     "df = pd.read_csv(data_dir + \"train.csv\")"
    ]
+  },
+  {
+   "cell_type": "code",
:

Differenzanzeige in JupyterLab nbdime

Wenn Sie diff mit nbdime in JupyterLab überprüfen, ist dies wie folgt. Die linke Seite von Pink befindet sich vor der Änderung und die rechte Seite von Grün befindet sich nach der Änderung. image.png

Ich denke, dass der Unterschied sehr leicht angezeigt wird.

Referenz

Recommended Posts

Git-Management von Jupyter Notebook (ipynb) Unterschieden in JupyterLab für einfache Anzeige
Generieren Sie das Jupyter-Notizbuch ".ipynb" in Python
Angeben des Jupyter Notebook-Browsers in einer Windows-Umgebung
Füllen Sie die Breite des Jupyter-Notizbuchs, um den Browser zu füllen
So geben Sie mit Jupyter Notebook einen Wert in der Mitte einer Zelle aus
Zeichnen einer Baumstruktur mit D3.js in Jupyter Notebook
Maschinelles Lernen mit Jupyter Notebook in einer OCI Always Free-Umgebung (17.12.2019)
Reflektieren Sie die von Miniconda erstellte virtuelle Umgebung im Jupyter-Notizbuch
So sehen Sie den Inhalt der ipynb-Datei des Jupyter-Notizbuchs
Schreiben Sie Diagramme in Echtzeit mit Matplotlib auf dem Jupyter-Notizbuch
Zeigen Sie dynamische Diagramme im Jupyter-Notizbuch an. (Inline-Anzeige von D3.js)
HTML in Jupyter-Notizbuch anzeigen
Verwenden Sie pip mit Jupyter Notebook
Mehrfachverarbeitungsfehler in Jupyter Notebook
Verwenden Sie Cython mit Jupyter Notebook
Spielen Sie mit Jupyter Notebook (IPython Notebook)
Serververwaltung mit Jupyter (1) -Import
Löse verstümmelte japanische Zeichen in matplotlib von Jupyter Notebook auf Docker
Ermöglichen Sie externe Verbindungen mit dem Jupiter-Notebook
Formatieren mit autopep8 auf Jupyter Notebook
Visualisieren Sie den Entscheidungsbaum mit einem Jupyter-Notizbuch
Machen Sie einen Sound mit Jupyter Notebook
Markdown mit Jupyter-Notebook verwenden (mit Verknüpfung)
Fügen Sie mit Jupyter Notebook weitere Kernel hinzu
Zeigen Sie Diagramme inline in Jupyter Notebook an
Bequeme Analyse mit Pandas + Jupyter Notebook
Ich wollte ein Jupyter-Notebook mit Docker in einer Pip-Umgebung (Opticspy) verwenden.
Grundeinstellung des Jupyter-Notizbuchs für Vim-Liebhaber ・ Beenden mit jj (jupyter-vim-Bindung)
Mit dem Aufkommen von systemd-homed im Jahr 2020 wird sich die Linux-Benutzerverwaltung dramatisch ändern.