首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在命令行中执行木星笔记本

在命令行中执行木星笔记本
EN

Stack Overflow用户
提问于 2019-02-19 19:47:06
回答 1查看 2.2K关注 0票数 0

我想以编程的方式运行一个包含导入语句的jupyter笔记本单元,并使用打开笔记本后导入的包,而不仅仅是将输出转换为一个新的ipython

目前,我正在使用am转换来执行一个预先创建的木星笔记本。执行该笔记本的步骤如下-

代码语言:javascript
复制
jupyter nbconvert --execute --inplace test.ipynb

创建新笔记本的代码-

代码语言:javascript
复制
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')

笔记本单元中的代码块包含-

代码语言:javascript
复制
import pandas as pd
import numpy as np
import matplotlib as plt
%pylab inline
hist(normal(size=2000), bins=50)

输出单元格按预期显示直方图。但是,在打开笔记本之后,我无法使用导入的包。是否有一种方法可以在命令行中执行笔记本,然后在打开笔记本后使用导入的包,而不必再次手动运行单元格?

EN

回答 1

Stack Overflow用户

发布于 2019-02-19 21:11:05

我能够通过安装jupyter扩展-木星笔记本扩展nbextensions来解决这个问题。

在启用上述链接中文档中指定的init_cell扩展之后,我在笔记本创建代码中添加了元数据标记"init_cell":True nbf.v4.new_code_cell(code,metadata={'editable':False,'deletable':False,'trusted':True,'init_cell':True}),以便将单元格设置为初始化单元。

此外,我还必须在命令行中执行行jupyter trust test.ipynb,以确保将笔记本设置为受信任的单元块,以便在笔记本加载时运行。

这将导致在加载笔记本之后执行初始化的代码单元格块,从而使我能够使用导入的包和变量(如果有的话),而不必手动运行单元格。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54773877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档