首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用造纸厂的笔记本中执行get_ipython代码时出现问题

在使用造纸厂的笔记本中执行get_ipython代码时出现问题
EN

Stack Overflow用户
提问于 2019-07-11 01:39:20
回答 1查看 138关注 0票数 0

我有一个笔记本,可以重新格式化探索性分析笔记本的结果,以便导出到幻灯片。此notebook根据传入的“零件类型”和“参数”数量创建新单元格。我使用以下代码生成了一个新的单元格,当我在notebook中进行测试时,它可以正常工作:

代码语言:javascript
复制
def create_code_cell(cell_content, replace=False,):
    shell = get_ipython()
    payload = {
        "source":"set_next_input",
        "text":cell_content,
        "replace":replace,
    }
    shell.payload_manager.write_payload(payload, single=False)

我遇到的问题是,当我使用Papermill执行时,此函数无法创建单元格。

如果我打开从Papermill创建的新笔记本,并单击Cells=>Run,则会生成所有单元格。

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

发布于 2019-07-20 04:01:34

IPython在幕后使用nbConvert,它在没有启动任何web浏览器消息传递协议的情况下运行IPython外壳。如果在shell中运行IPython并运行给定的命令,则不会生成任何输出。通过在浏览器中运行notebook设置的消息传递协议是侦听这些有效负载更新并从其创建新单元的内容。

我所见过的在notebook中以编程方式创建单元格的唯一其他解决方案依赖于JavaScript运行,如果您也不在浏览器中运行,也就是nbConvert。

也许这就是您已经拥有的东西,但是您是否可以这样设置生成的notebook :当用户第一次在浏览器中运行它时,notebook会“自动展开”?

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

https://stackoverflow.com/questions/56975965

复制
相关文章

相似问题

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