【发布时间】:2019-07-13 09:46:21
【问题描述】:
我想以编程方式运行一个包含导入语句的 jupyter 笔记本单元,并使用打开笔记本后导入的包,而不仅仅是将输出转换为新的 ipython 笔记本。
目前,我正在使用 nbconvert 执行预先创建的 Jupyter 笔记本。执行 notebook 的步骤如下 -
jupyter nbconvert --execute --inplace test.ipynb
创建新笔记本的代码 -
import nbformat as nbf
nb = nbf.v4.new_notebook()
nb['cells'] = [nbf.v4.new_markdown_cell(text),nbf.v4.new_code_cell(code,metadata={'editable':False,'deletable':False}) ]
nbf.write(nb, 'test.ipynb')
笔记本单元格中的代码块包含 -
import pandas as pd
import numpy as np
import matplotlib as plt
%pylab inline
hist(normal(size=2000), bins=50)
输出单元格按预期显示直方图。 但是,我无法使用打开笔记本后导入的包。有没有办法在命令行中执行笔记本,然后在打开笔记本后使用导入的包,而无需再次手动运行单元格?
【问题讨论】:
-
unable to use the packages imported after opening the notebook是什么意思? -
我可以使用 nbconvert 执行笔记本单元格。当我打开执行的笔记本文件时,我可以在输出单元格中看到输出。但是,如果我在打开笔记本后尝试使用我在不同代码单元中的同一预执行单元中导入的 pandas 包,我将无法这样做。
标签: python jupyter-notebook nbconvert