Jupyter 导出html 报错 KeyError: ‘state‘

jupyter导出html/pdf报错KeyError: ‘state’

1.问题

今天,在colab怕了个深度学习代码,下载下来之后想要导出html交作业

jupyter-nbconvert --to html 1.ipynb			# 注意你的是jupyter-nbconvert 还是jupyter nbconvert

却发现导出的时候一直报错:

  Traceback (most recent call last):
    File "/usr/local/bin/jupyter-nbconvert", line 8, in <module>
      sys.exit(main())
    File "/usr/local/lib/python3.9/site-packages/jupyter_core/application.py", line 264, in launch_instance
      return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
    ...
    File "/usr/local/share/jupyter/nbconvert/templates/base/display_priority.j2", line 7, in block 'data_priority'
      {%- for type in output.data | filter_data_type -%}
    File "/usr/local/lib/python3.9/site-packages/nbconvert/filters/widgetsdatatypefilter.py", line 57, in __call__
      metadata["widgets"][WIDGET_STATE_MIMETYPE]["state"]

具体是什么原因呢?可以自己去github的jupyter项目下的nbconvert去看看,网址如下:https://github.com/jupyter/nbconvert/issues/1731

2.如何解决呢?

使用如下命令删除.metadata.widgets,即可

jq -M 'del(.metadata.widgets)' 1.ipynb > 1.fixed.ipynb

这是一个linux命令,相信大多数人都是使用的windows。这里推荐一个github的一个在线编码平台:codespace,地址:https://github.com/features/codespaces

现在该平台已经免费了,其终端支持linux命令。

同时,如果你在电脑上安装了子系统像是ubuntu,并使用wsl,也可以在终端输入wsl 进行操作

PS D:\code\Python-Project\文本数据挖掘> wsl
xcodd@DESKTOP-GKT9HQD:/mnt/d/code/Python-Project/文本数据挖掘$ 

xcodd@DESKTOP-GKT9HQD:/mnt/d/code/Python-Project/文本数据挖掘$ sudo apt-get update
xcodd@DESKTOP-GKT9HQD:/mnt/d/code/Python-Project/文本数据挖掘$ sudo apt-get install jq

xcodd@DESKTOP-GKT9HQD:/mnt/d/code/Python-Project/文本数据挖掘$ jq -M 'del(.metadata.widgets)' 1.ipynb > 1.fixed.ipynb

接着就可以进行导出了。

本文参考:https://github.com/jupyter/nbconvert/issues/1731

本文对其内容做了总结,并给出了windows如何使用linux命令来解决该问题

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值