[PYTHON] Konvertieren Sie .ipynb in .html (mit BatchFile)
Fazit
- Legen Sie eine Batch-Datei ab und klicken Sie! Dann habe ich etwas gemacht, das die .ipynb direkt darunter in HTML konvertiert.
- Es funktioniert auch in einer Umgebung ohne Python (sollte)
--toc2 (Inhaltsverzeichnisfunktion) wird automatisch eingefügt ← Empfohlener Punkt dieser Funktion! </ Strong>
- Ich habe es auf einem Mac gemacht, aber es kann funktionieren, wenn ich es unter Windows neu erstelle. (unbestätigt)
Hintergrund
――Es ist schwierig, einen lokalen Server zu starten und jedes Mal ein Notizbuch zu öffnen, um den Inhalt einer großen Menge von .ipynb zu überprüfen. Wenn Sie in einem anderen Verzeichnis für ein anderes Unternehmen arbeiten, müssen Sie außerdem eine Reihe lokaler Server einrichten, die nicht das Unternehmen sind.
Bestehende Methode
jupyter nbconvert --to html hoge.ipynb
- Methode 2: Offiziell: Anpassen von nbconvert
--htmlized using template ("simplepython.tpl" im folgenden Beispiel). Mit dieser Methode kann das Inhaltsverzeichnis in nbextension wie toc2 als HTML eingefügt werden.
jupyter nbconvert --to python 'example.ipynb' --stdout --template=simplepython.tpl
--Methode 3: Öffnen und speichern Sie noebook auf LocalServer
Probleme / Probleme, die nicht gelöst werden können
――Es ist schmerzhaft, wenn Sie viel .ipynb sehen müssen
- Vergessen Sie den Pfad in template.tpl
- Das Verschieben des Verzeichnisses ist problematisch
- Sie müssen verschiedene Pakete (jupyter, nbconvert, nbextensions, toc2.tpl usw.) in die Python-Umgebung einfügen. (Ich möchte, dass die Umgebung einfach ist!)
- ↑ Ich kann mich nicht an die Existenz des Pakets erinnern, da ich eine virtuelle Umgebung erstellt und von Zeit zu Zeit ersetzt habe.
Ansatz
Implementieren Sie eine GUI-basierte Verarbeitung. (Kombinieren vorhandener Methodenbefehle in einer ausführbaren Datei.)
- Das verwendete Paket
--pyinstaller: 1 Erstellen Sie eine ausführbare Datei
--jupyter: Verwenden Sie Funktionen wie nbconvert, um in Text-> Notizbuchformat-> HTML zu konvertieren
--jinja2: Wird beim Laden einer template.tpl verwendet
- Verschiedene Vorlagen, die von jinja2 beim Starten von jupyter notebook geladen werden, z. B. toc2.tpl, full.tpl ...:
――Wenn Sie Lust auf den spezifischen Inhalt haben, werde ich ihn hinzufügen
- git link
Wirkung / Schlussfolgerung
- Bisher funktioniert es einwandfrei und es ist praktisch, in 5 Sekunden in HTML konvertiert zu werden.
- Die verbleibenden Herausforderungen
- Die Dateigröße ist groß (ca. 50 MB) und übt Druck auf die Festplatte aus.
- Die Verarbeitungszeit ist lang. Wenn möglich, möchte ich, dass Sie die HTML-Konvertierung in etwa 0,5 Sekunden abschließen.
Bonus (wo ich stecken geblieben bin)
-
Es fiel mir schwer, die Vorlagen in die Batchdatei einzubetten.
Weil pyinstaller die folgende Vorlagendatei nicht erkannt hat. Es ist eine wichtige Datei für jinja2, um von Text in HTML zu konvertieren.
- toc2.tpl
- full.tpl
- nbextensions.tpl
- mathjax.tpl
- celltags.tpl
-
Als Lösung für ↑ habe ich .tpl fest codiert und eine Datei zum Lesen als Zeichenfolge erstellt. (Data_tpl.py) Es scheint, dass pyinstaller .pyfile ohne Erlaubnis erkennt.
――Nachdem können Sie, wenn Sie die von einem String gelesene Vorlage mit jinja2.dictLoader konvertieren, jinja2 ({% -extends'hogehoge.html '%}) ohne Erlaubnis erben.