[python]jupyter notebook安装Nbextensions不显示标签的问题

1 首先运行环境是群晖DSM6.1,其实就是一个精简的linux系统

2 python版本3.8

安装完jupyter后,能正常运行,不过在安装完jupyter_contrib_nbextensions,

 进行相关配置后,理论上重启后打开jupyter notebook,界面会增加一个Nbextensions标签,如下图

 但是实际安装完成后,并没有出现该标签。使用网上搜索到的相关方法都没能成功显示该标签。

查看SSH窗口发现报了一个404的错误,某个js文件没有找到。

同时浏览器控制台也有相应报错

个人分析原因大致是:jupyter notebook 运行时,会开启一个web服务器,同时向浏览器提供相应的html,js,css等资源。而这个js文件因为不存在,导致后续逻辑异常,从而导致没有顺序执行到展示Nbextensions标签的逻辑。

那么解决问题的办法就是进入到报错的目录下,确认marked.js文件是否存在,如不存在,就将该文件补充进去。

先找到jupyter安装文件所在的目录,ssh执行

pip install jupyter

根据返回信息,找到jupyter的安装目录 

再根据浏览器控制台里的网络请求页,随意找一个可以正常访问的js文件,查看一下它的地址

 再进入jupyter安装目录,搜索这个文件,以确定static目录的绝对路径

最终找到js文件的存放目录,进入之后发现有一个marked文件夹

 进入该文件夹,只发现一个lib目录,再进入lib目录

里面只有一个marked.umd.js文件

marked.umd.js是marked.js的一个备用库,既然主库marked.js已经丢失了,那就把备用库放上去试试看

重启jupyter notebook 试试看

最后打开浏览器,问题完美解决,nbextensions标签已经显示了。

但是控制台中还有报错:markedis not a function。看来使用umd.js是无效的。只能去github找markedjs来替换了。经过搜索,找到其下载地址为https://raw.githubusercontent.com/markedjs/marked/v3.0.1/lib/marked.js

将下载下来的marked.js文件替换到jupyter对应目录后,问题完美解决

 

物联沃分享整理
物联沃-IOTWORD物联网 » [python]jupyter notebook安装Nbextensions不显示标签的问题

发表评论