Warum PY in IPYNB konvertieren?
Forscher und Datenwissenschaftler verwenden .ipynb-Notebooks in JupyterLab, um Code interaktiv auszuführen, Inline-Plots anzuzeigen und Markdown-Erklärungen zwischen Codeabschnitten hinzuzufügen. Das Konvertieren eines einfachen .py-Skripts in .ipynb macht es in dieser Umgebung schrittweise ausführbar, ohne den Code neu schreiben zu müssen.
Wie man PY in IPYNB konvertiert
jupytext OPEN-SOURCE
Führen Sie pip install jupytext aus, dann jupytext --to notebook file.py; setzen Sie # %%-Kommentare in den .py-Quellcode, um Zellgrenzen vor der Konvertierung für das beste Ergebnis zu definieren.
Jupyter (nbconvert) FREE
Führen Sie jupyter nbconvert --to notebook --execute file.py aus, um das Skript zu konvertieren und auszuführen, wobei die Ausgaben in der .ipynb gespeichert werden; lassen Sie --execute weg, um ohne Ausführung zu konvertieren.
Über diese Formate
Eine .py-Datei ist eine Python-Quellcodedatei - reiner Text mit einem Programm oder Skript, das in der Programmiersprache Python geschrieben wurde. Um den Code zu lesen, öffnen Sie die…
.PY-Details öffnen →Eine .IPYNB-Datei ist mit IPython notebook verknüpft, einer misc-Datei.
.IPYNB-Details öffnen →Qualität & worauf zu achten ist
- Zellgrenzen werden geschätzt, wenn keine
# %%-Markierungen vorhanden sind - fügen Sie# %%zu Ihrer.py-Datei vor der Konvertierung hinzu, um genau zu steuern, wo jede Zelle beginnt. - Die konvertierte
.ipynbenthält keine Zellenausgaben; Plots, Print-Anweisungen und andere Ergebnisse werden generiert, wenn Sie das Notebook in JupyterLab ausführen. - nbconvert behandelt die gesamte
.py-Datei als eine einzige Codezelle, sofern die Datei nicht bereits# In[]:-Zellmarkierungen enthält; jupytext verarbeitet einfache Skripte eleganter.
Häufig gestellte Fragen
Werden meine Python-Imports und Funktionen im Notebook genauso funktionieren?
Kann ich das Notebook wieder in eine .py-Datei zurückverwandeln?
jupytext --to py file.ipynb aus, um zu einem einfachen Python-Skript zurückzukehren.Was ist der Unterschied zwischen jupytext und nbconvert für diese Aufgabe?
# %%-Markierungen; nbconvert ist in Jupyter integriert und kann den Code während der Konvertierung ausführen und Ausgaben speichern.