使用stdout输出从命令行运行jupyter笔记本的精益实用程序
runnb的Python项目详细描述
runnb-运行笔记本脚本
runnb
是从命令行运行jupyter
笔记本的脚本。
它是一个^{jupyter
笔记本^{
当前版本的runnb
在python 2, 3
和jupyter 4.3.0
下实现和测试。
安装
要安装pip包,
pip install runnb
或安装最新版本,
pip install --upgrade git+https://github.com/InnovArul/runnb
用法
runnb [options] <path/to/notebook.ipynb>
选项
- -H—帮助显示帮助消息。
- -E—允许错误—在单个单元格中允许错误并继续运行。
- -n—不stdio不将stdio恢复到命令行。(您可能看不到打印的信息。)
- -A—允许不受信任运行笔记本,即使不受信任。
- -t--to=<;path/to/notebook.out.ipynb>;将执行的笔记本保存到特定文件。
示例
假设我们有一个笔记本。 只需从命令行运行笔记本:
runnb test.ipynb
如果要运行笔记本,而不是在某个单元格中被可能的错误打断,请传递--allow-error
标志:
runnb --allow-error test.ipynb
或者使用快捷方式-e
:
runnb -e test.ipynb
如果要导出已执行的笔记本,请使用--to
:
runnb --to=test.out.ipynb test.ipynb
或者使用快捷方式-t
:
runnb --ttest.out.ipynb test.ipynb
默认情况下,我们通过boardcasting input
/output
/error
流将笔记本的输出恢复到命令行。这是通过添加一小段代码来处理sys.stdin
、sys.stdout
和sys.stderr
。一个很小的Tee
类用于支持这种行为。确保tee.py
在我们的python搜索路径中。如果在某些情况下不希望这样做,我们可以通过传递--no-stdio
标志来关闭它:
runnb --no-stdio test.ipynb
或者使用快捷方式-n
:
runnb -n test.ipynb
但是,这可能意味着我们可能看不到命令行上执行的输出。最好使用--to
标志:
runnb --no-stdio --to test.out.ipynb test.ipynb
我们在这里可以尝试的最危险(毫不夸张)的事情是运行一个not trusted笔记本。默认情况下,运行不受信任的笔记本会导致DeprecationWarning
停止运行。但是,如果坚持这样做,我们可以传递--allow-not-trusted
标志以允许运行。
runnb --allow-not-trusted not_trusted.ipynb
将显示弃用消息,但它不会阻止运行。也可以使用--to
保存执行的不受信任笔记本。我们将对不受信任的笔记本的结果进行签名并将其标记为不受信任。但是,最好的做法是不要运行不受信任的笔记本。至少我们应该先检查一下笔记本,如果它是安全的,就签个可信的。确保我们了解正在发生的事情和正在做的事情。
lib用法
runnb(nb_path, allow_errors=False, no_stdio=False, to_file=None)
从当前路径运行笔记本。
参数:
nb_path
(str
)-笔记本的路径。allow_errors
(bool
)-是否允许在单个单元格期间出错并继续运行。当设置为True
时,如果某个单元格中出现错误,笔记本将继续运行以下单元格。默认值False
。no_stdio
(bool
)-是否停止将stdio恢复为默认值。当设置为True
时,将不会恢复默认stdio(通常是命令行)。结果只能在输出笔记本中找到。默认值False
。to_file
(str
)-将执行的笔记本保存到的文件的路径。如果设置为None
或空字符串,则不会保存笔记本。默认值None
。
提高:
DeprecationWarning
-如果笔记本不受信任并且警告未通过warnings
模块过滤,则引发。