1 首先运行环境是群晖DSM6.1,其实就是一个精简的linux系统
2 python版本3.8
3
安装完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
再根据浏览器控制台里的网络请求页,随意找一个可以正常访问的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对应目录后,问题完美解决