nbdev
是一个笔记本驱动的开发平台。只需使用轻量级标记编写笔记本,即可免费获得高质量的文档、测试、持续集成和打包!
nbdev
使调试和重构代码比在传统编程环境中容易得多,因为您始终拥有触手可及的活动对象。 nbdev
还提倡软件工程最佳实践,因为测试和文档都是一流的。
nbdev-index
对许多包的开箱即用支持)__all__
中nbdev 适用于 macOS、Linux 和大多数 Unix 风格的操作系统。它可以在 WSL 下的 Windows 上运行,但不能在 cmd 或 Powershell 下运行。
您可以使用 pip 安装 nbdev:
pip install nbdev
…或使用 conda (或 mamba):
conda install -c fastai nbdev
请注意, nbdev
必须安装到您用于 Jupyter 和项目的同一 Python 环境中。
学习如何使用 nbdev 的最佳方法是完成书面演练或视频演练:
或者,还有一个缩短版的视频演练,其中的编码部分使用unsilence
Python 库加速 - 快了 27 分钟,但有点难以理解。
您还可以从终端运行nbdev_help
以查看可用命令的完整列表:
!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.
答:您不应该拥有未导出的单元格,并且包含import
语句和其他代码的混合。例如,不要在单个单元格中执行此操作:
import some_module
some_module . something ()
相反,将其分成两个单元,一个执行import some_module
,另一个执行some_module.something()
。
原因是,当我们创建您的文档网站时,我们通过在您的笔记本中运行导入、导出的单元格和show_doc
函数,确保您记录的所有函数签名都是最新的。当您将导入与其他代码混合时,其他代码也会运行,这可能会在创建网站时导致错误(或至少变慢)。
答:当您设置第一个项目时,nbdev 将尝试自动为您下载并安装 Quarto。这是我们用来创建您的文档网站的程序。
Quarto 的标准安装过程需要 root 访问权限,因此 nbdev 在安装过程中会要求您输入 root 密码。对于大多数人来说,这会很好地工作,并且一切都会自动处理 - 如果是这样,您可以跳过本节的其余部分,其中讨论了无需 root 访问权限的安装。
如果您需要在 Linux 上安装无需 root 访问权限的 Quarto,请首先cd
到您想要存储它的位置,然后下载 Quarto,然后输入:
dpkg -x quarto * .deb .
mv opt/quarto ./
rmdir opt
mkdir -p ~ /.local/bin
ln -s " $( pwd ) " /quarto/bin/quarto ~ /.local/bin
要使用此非 root 版本的 Quarto,您需要在PATH
环境变量中添加~/.local/bin
。 (或者,更改ln -s
步骤以将符号链接放置在路径中的其他位置。)
答:看这个视频。别担心,尽管我们在过去三年中将nbdev
用于各种“非常严肃”的软件项目,包括深度学习库、API 客户端、Python 语言扩展、终端用户界面等,但我们仍然得到了这一点!
如果您想为nbdev
做出贡献,请务必查看贡献指南。该项目遵守fastai的行为准则。通过参与,您应该遵守此准则。总的来说,我们努力遵守开源软件开发中普遍接受的最佳实践。
通过在克隆存储库中运行nbdev_install_hooks
确保安装了nbdev
的 git hooks。
版权所有 © 2019 及以后 fast.ai, Inc。根据 Apache 许可证 2.0 版(“许可证”)获得许可;除非遵守许可证,否则您不得使用该项目的文件。此存储库中的 LICENSE 文件中提供了许可证的副本。