没有项目描述

RunNotebook的Python项目详细描述


笔记本Sphinx扩展名

安装

此软件包在pypi上提供:https://pypi.python.org/pypi/RunNotebook

使用pip安装:

pip install RunNotebook

将扩展名添加到您的conf.py

extensions=[# Import both'RunNotebook',# or import each directive individually# 'RunNotebook.notebook_sphinxext',# 'RunNotebook.notebookcell_sphinxext',# ...]

您的conf.py中的可选配置:

# Run notebook configuration# The template used when exporting from nbconvert#   full  - Outputs the full HTML document [Default]#   basic - Outputs a single div (with no additional resources)run_notebook_export_template='basic'# Default: 'full'# Display the source links to the generated evaluated filesrun_notebook_display_source_links=False# Default: True

查看示例sphinx项目中的conf.py文件,了解如何 与你的狮身人面像融合。

文档中的代码片段

这包了两个有用的Sphinx扩展:notebook 以及notebook-cell。这些扩展对于嵌入整个 分别在Sphinx文档中的笔记本或单个笔记本单元。

在过去,将示例脚本包含在 版本控制文档的。例如,可以包括代码 sphinx文档中使用rstcode-block指令的片段:

..code-block::pythonforiinrange(5):printi

虽然这会产生一个语法突出显示的python脚本,该脚本嵌入到sphinx中 文档,它不运行代码或提供任何工具来检查 代码正确。

Jupyter笔记本为 识字编程,嵌入代码输入、输出和解释文本 变成一个文件。在文档中包含笔记本是很有诱惑力的 批发。但是,这种方法存在一些问题 好。很难对笔记本进行版本控制-如果笔记本 输出包含大量数据,差异很容易快速增长, 生成一个不方便的大型存储库。此外,更新 笔记本需要手动重新计算所有笔记本单元格,保存 笔记本,如果有什么变化就提交。版本控制 笔记本也不能保证笔记本中的代码仍然是 功能性——一个记录不断发展的代码库的笔记本的真正问题 测试覆盖率不高。

使用Sphinx扩展自动运行笔记本

此包中包含的扩展使包含未评估的 文档中的笔记本或简短的python代码片段。两个扩展 使用nbconvert编写 评估笔记本电脑,并将评估后的笔记本电脑转换为 适合嵌入sphinx文档的html。

依赖关系

此扩展依赖于Jupyter

注意,所有Jupyter依赖项(甚至是可选的依赖项)都必须是 安装。尤其是pandocnode.js必须可用,因为它们由 NBConvert公司

示例

假设我想在我的 文档。为此,请将以下内容添加到任何sphinx structuredtext 文档:

..notebook:: example.ipynb

在预处理期间,sphinx将计算notebok,将其转换为html,并且 将其嵌入文档中notebook指令所在的位置 使用。

如果一个完整的笔记本没有意义或者如果你想更紧密地连接 作为文档源的脚本,可以使用notebook-cell 嵌入单手机迷你笔记本:

..notebook-cell::

   for i in range(5):
     print i

这将把代码片段转换为笔记本,计算笔记本,以及 然后将结果嵌入到文档中。请注意,笔记本电脑没有 当前接受用户命名空间,因此运行代码所需的所有导入 必须包含在源中。

有关完整的、有效的 使用基本狮身人面像配置的示例。

已知问题

这些扩展使用nbconvert html的“完整”html输出版本 输出。这包括完整的笔记本css。有一些css monkeypatching 这恰好减少了笔记本css对文档的影响 可能与文档主题冲突。如果事实证明 MonkeyPatching很脆弱,在您首选的文档中存在视觉问题 主题,请通过打开github问题让我知道。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么@DELETE REST不起作用?   带有JPA2的java表值参数。1和Hibernate,Sql Server   如何将Java类添加到Xamarin VS2017项目   绘制多边形时出现java空指针异常   java Apache WebClient 303状态未重定向   java如何用一组字符串数组从数据库中获取数据   java是否可以使用Google Drive API向文件中添加脚本?   java组织。阿帕奇。贾斯珀。JspC jar文件下载   java在整个JSON映射中将单个值作为JSON流   通过命令行将文件输入到java   java rs.next()总是返回false   java标记异常,通知调用方利用异常消息   java Spring YML数组属性为空