juoyterhub安装后可以登录,其它各项功能正常,但notebook启动不了,显示500:内部服务错误。
![](https://zhaodsm.de/wp-content/uploads/2020/12/截屏2020-12-11-下午10.51.23.png)
尝试了各种方法,删除jupyterhub重装,删除jupyter重装,甚至删除与jupyter相关的所有目录、文件,均没有效果。
再仔细查看登录时jupyterhub的反馈信息,发现还有一个目录没有动过,nbconvert,全部删除,再重新安装,再次登录正常,问题解决。
![](https://zhaodsm.de/wp-content/uploads/2020/12/截屏2020-12-11-下午11.22.30.png)
500错误原因复杂,我产生这个问题很可能是先安装配置过本地的jupyter-notebook服务器,使nbconvert生成了本地连接,再安装jupyterhub时仍然调用旧的配置,自然无法运行,踩过的坑供大家参考。
近日第二次安装Jupyterhub,再次遇到500问题,上次碰运气解决问题,这次想真正搞清楚原因,并且这次尝试了多用户同时登录,在第一个用户登录后其他用户无法登录或登录后打不开python文件。
1、从网上调研该问题的解决方案
有关该问题的文章不多,大概几种认识,第一是认为安装notebook在先,生成/.jupyter文件,造成后面启动jupyterhub时读取老文件出现错误。第二是认为jupyterhub的设置文件对用户的身份认证和系统防火墙问题。
以上方案在我这里都不起作用,都是一种猜测,并没有真正搞清问题的根本原因。
2、自己动手调试
2.1 第一个用户登录时就出现500错误,采取前述办法,删除nbconvert文件夹,没有出现以前的结果,仍然无法登录。
调试信息显示 permissionERR 13 *******conf.json 表明jupyterhub不能正常处理该文件,打开所在目录发现在nbconvert目录下根本没有该文件。将以前安装的系统中的文件拷贝覆盖当前文件夹,成功登入,并能正常运行python程序。
2.2 第二个用户无法登入,只有第一个用户退出,第二个用户才能登录,并且登录后仍然无法打开python文件,用2.1的方法覆盖文件,仍然不起作用,并且系统没有permissionERR 13错误提示,只提示打开singlenotebookapp失败。
以上表明,2.1没有真正解决问题,并且当前系统只能单用户使用,根本不是多用户环境。从各种现象考虑,出现这些问题应该还是身份认证存在错误。
以第二个用户身份进入终端,在其中启动jupyterhub并尝试浏览器登录,这里系统再次出现permission ERR 13和runtime错误提示,即该用户无权执行相关文件,这算是该软件的一个bug吧。
对相关文件进行 chmod -R 777,退出普通用户环境,以root身份启动jupyterhub,多用户正常运行,问题解决。
普通用户要使用jupyterhub必须要有自己的主目录并配置在config文件中,有权读取配置文件,且第一次运行时要正确生成身份认证信息,否则均不能正常运行。