nbdev
ist eine Notebook-gesteuerte Entwicklungsplattform. Schreiben Sie einfach Notizbücher mit leichtem Markup und erhalten Sie kostenlos hochwertige Dokumentation, Tests, kontinuierliche Integration und Verpackung!
nbdev
macht das Debuggen und Refactoring Ihres Codes viel einfacher als in herkömmlichen Programmierumgebungen, da Sie immer Live-Objekte zur Hand haben. nbdev
fördert außerdem Best Practices für die Softwareentwicklung, da Tests und Dokumentation erstklassig sind.
nbdev-index
).__all__
einbezogen.nbdev funktioniert auf macOS, Linux und den meisten Betriebssystemen im Unix-Stil. Es funktioniert unter Windows unter WSL, aber nicht unter cmd oder Powershell.
Sie können nbdev mit pip installieren:
pip install nbdev
… oder mit Conda (oder Mamba):
conda install -c fastai nbdev
Beachten Sie, dass nbdev
in derselben Python-Umgebung installiert werden muss, die Sie sowohl für Jupyter als auch für Ihr Projekt verwenden.
Der beste Weg, die Verwendung von nbdev zu erlernen, besteht darin, entweder die schriftliche Komplettlösung oder die Video-Komplettlösung abzuschließen:
Alternativ gibt es eine gekürzte Version der Video-Komplettlösung mit beschleunigten Codierungsabschnitten mithilfe der unsilence
Python-Bibliothek – sie ist 27 Minuten schneller, aber etwas schwieriger zu befolgen.
Sie können nbdev_help
auch vom Terminal aus ausführen, um die vollständige Liste der verfügbaren Befehle anzuzeigen:
!n bdev_help
nbdev_bump_version Increment version in settings.ini by one
nbdev_changelog Create a CHANGELOG.md file from closed and labeled GitHub issues
nbdev_clean Clean all notebooks in `fname` to avoid merge conflicts
nbdev_conda Create a `meta.yaml` file ready to be built into a package, and optionally build and upload it
nbdev_create_config Create a config file.
nbdev_docs Create Quarto docs and README.md
nbdev_export Export notebooks in `path` to Python modules
nbdev_filter A notebook filter for Quarto
nbdev_fix Create working notebook from conflicted notebook `nbname`
nbdev_help Show help for all console scripts
nbdev_install Install Quarto and the current library
nbdev_install_hooks Install Jupyter and git hooks to automatically clean, trust, and fix merge conflicts in notebooks
nbdev_install_quarto Install latest Quarto on macOS or Linux, prints instructions for Windows
nbdev_merge Git merge driver for notebooks
nbdev_migrate Convert all markdown and notebook files in `path` from v1 to v2
nbdev_new Create an nbdev project.
nbdev_prepare Export, test, and clean notebooks, and render README if needed
nbdev_preview Preview docs locally
nbdev_proc_nbs Process notebooks in `path` for docs rendering
nbdev_pypi Create and upload Python package to PyPI
nbdev_readme Create README.md from readme_nb (index.ipynb by default)
nbdev_release_both Release both conda and PyPI packages
nbdev_release_gh Calls `nbdev_changelog`, lets you edit the result, then pushes to git and calls `nbdev_release_git`
nbdev_release_git Tag and create a release in GitHub for the current version
nbdev_requirements Writes a `requirements.txt` file to `directory` based on settings.ini.
nbdev_sidebar Create sidebar.yml
nbdev_test Test in parallel notebooks matching `path`, passing along `flags`
nbdev_trust Trust notebooks matching `fname`
nbdev_update Propagate change in modules matching `fname` to notebooks that created them
nbdev_update_license Allows you to update the license of your project.
A: Sie sollten keine Zellen haben, die nicht exportiert werden und eine Mischung aus import
und anderem Code enthalten. Tun Sie dies beispielsweise nicht in einer einzelnen Zelle:
import some_module
some_module . something ()
Teilen Sie dies stattdessen in zwei Zellen auf, eine, die import some_module
, und die andere, die some_module.something()
ausführt.
Der Grund dafür ist, dass wir bei der Erstellung Ihrer Dokumentationswebsite sicherstellen, dass alle Signaturen für die von Ihnen dokumentierten Funktionen auf dem neuesten Stand sind, indem wir die Import-, Exportzellen- und show_doc
-Funktionen in Ihren Notizbüchern ausführen. Wenn Sie Importe mit anderem Code kombinieren, wird dieser andere Code ebenfalls ausgeführt, was zu Fehlern (oder zumindest Verlangsamungen) beim Erstellen Ihrer Website führen kann.
A: Wenn Sie Ihr erstes Projekt einrichten, versucht nbdev, Quarto automatisch herunterzuladen und für Sie zu installieren. Dies ist das Programm, mit dem wir Ihre Dokumentationswebsite erstellen.
Der Standardinstallationsprozess von Quarto erfordert Root-Zugriff und nbdev wird Sie daher während der Installation nach Ihrem Root-Passwort fragen. Für die meisten Leute wird dies gut funktionieren und alles wird automatisch erledigt – wenn ja, können Sie den Rest dieses Abschnitts überspringen, in dem es um die Installation ohne Root-Zugriff geht.
Wenn Sie Quarto ohne Root-Zugriff unter Linux installieren müssen, cd
zuerst an den Ort, an dem Sie es speichern möchten, laden Sie dann Quarto herunter und geben Sie Folgendes ein:
dpkg -x quarto * .deb .
mv opt/quarto ./
rmdir opt
mkdir -p ~ /.local/bin
ln -s " $( pwd ) " /quarto/bin/quarto ~ /.local/bin
Um diese Nicht-Root-Version von Quarto verwenden zu können, benötigen Sie ~/.local/bin
in Ihrer PATH
Umgebungsvariablen. (Alternativ können Sie den Schritt ln -s
ändern, um den Symlink an einer anderen Stelle in Ihrem Pfad zu platzieren.)
A: Sehen Sie sich dieses Video an. Keine Sorge, das bekommen wir auch immer noch, obwohl wir nbdev
in den letzten drei Jahren für eine Vielzahl „sehr ernster“ Softwareprojekte verwendet haben, darunter Deep-Learning-Bibliotheken, API-Clients, Python-Spracherweiterungen, Terminal-Benutzeroberflächen und mehr !
Wenn Sie einen Beitrag zu nbdev
leisten möchten, lesen Sie unbedingt die Beitragsrichtlinien. Dieses Projekt hält sich an den Verhaltenskodex von fastai. Durch Ihre Teilnahme wird von Ihnen erwartet, dass Sie diesen Kodex einhalten. Im Allgemeinen sind wir bestrebt, allgemein anerkannte Best Practices bei der Entwicklung von Open-Source-Software einzuhalten.
Stellen Sie sicher, dass Sie die Git-Hooks von nbdev
installiert haben, indem Sie nbdev_install_hooks
im geklonten Repository ausführen.
Copyright © ab 2019 fast.ai, Inc. Lizenziert unter der Apache-Lizenz, Version 2.0 (die „Lizenz“); Sie dürfen die Dateien dieses Projekts nur in Übereinstimmung mit der Lizenz verwenden. Eine Kopie der Lizenz wird in der LICENSE-Datei in diesem Repository bereitgestellt.