JupyterHub-未找到oauth_客户端_id

JupyterHub-未找到oauth_客户端_id,oauth,jupyterhub,Oauth,Jupyterhub,我正在使用Azure运行使用Jupyterhub的python笔记本。在启动虚拟机后,我可以使用用户名和密码(就像ssh一样)访问笔记本电脑。然而,一天后,当我切换到另一个网络时(我并不是说网络可能有问题),我无法访问链接。它给我无法访问的站点错误 因此,我尝试再次运行该过程,从那时起,我一直在努力使其再次运行。我在GitHub上搜索过类似的问题,但它们也没有帮助 在使用kill pid命令终止进程之后,我尝试通过以下命令运行jupyterhub: /anaconda/envs/py35/bin

我正在使用Azure运行使用Jupyterhub的python笔记本。在启动虚拟机后,我可以使用用户名和密码(就像ssh一样)访问笔记本电脑。然而,一天后,当我切换到另一个网络时(我并不是说网络可能有问题),我无法访问链接。它给我
无法访问的站点
错误

因此,我尝试再次运行该过程,从那时起,我一直在努力使其再次运行。我在GitHub上搜索过类似的问题,但它们也没有帮助

在使用
kill pid
命令终止进程之后,我尝试通过以下命令运行jupyterhub:

/anaconda/envs/py35/bin/python /anaconda/envs/py35/bin/jupyterhub-singleuser --port=50387 --notebook-dir="~/notebooks" --config=/etc/jupyterhub/jupyterhub_config.py
这给了我一个错误:

 JUPYTERHUB_API_TOKEN env is required to run jupyterhub-singleuser. Did you launch it manually?
所以我搜索了与此类似的github问题。我尝试使用以下方法手动生成令牌:

 jupyterhub token username
我通过
export-JUPYTERHUB\u-API\u-token=token
将该令牌添加到JUPYTERHUB\u-API\u令牌。我还在jupyterhub_config.py中的c.Authenticator.tokens中添加了token:username。现在我得到了这个错误:

Traceback (most recent call last):
  File "/anaconda/envs/py35/lib/python3.5/site-packages/traitlets/traitlets.py", line 528, in get
    value = obj._trait_values[self.name]
KeyError: 'oauth_client_id'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/anaconda/envs/py35/bin/jupyterhub-singleuser", line 6, in <module>
    main()
  File "/anaconda/envs/py35/lib/python3.5/site-packages/jupyterhub/singleuser.py", line 455, in main
    return SingleUserNotebookApp.launch_instance(argv)
  File "/anaconda/envs/py35/lib/python3.5/site-packages/jupyter_core/application.py", line 267, in launch_instance
    return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
  File "/anaconda/envs/py35/lib/python3.5/site-packages/traitlets/config/application.py", line 657, in launch_instance
    app.initialize(argv)
  File "<decorator-gen-7>", line 2, in initialize
  File "/anaconda/envs/py35/lib/python3.5/site-packages/traitlets/config/application.py", line 87, in catch_config_error
    return method(app, *args, **kwargs)
  File "/anaconda/envs/py35/lib/python3.5/site-packages/notebook/notebookapp.py", line 1296, in initialize
    self.init_webapp()
  File "/anaconda/envs/py35/lib/python3.5/site-packages/jupyterhub/singleuser.py", line 393, in init_webapp
    self.init_hub_auth()
  File "/anaconda/envs/py35/lib/python3.5/site-packages/jupyterhub/singleuser.py", line 388, in init_hub_auth
    if not self.hub_auth.oauth_client_id:
  File "/anaconda/envs/py35/lib/python3.5/site-packages/traitlets/traitlets.py", line 556, in __get__
    return self.get(obj, cls)
  File "/anaconda/envs/py35/lib/python3.5/site-packages/traitlets/traitlets.py", line 535, in get
    value = self._validate(obj, dynamic_default())
  File "/anaconda/envs/py35/lib/python3.5/site-packages/traitlets/traitlets.py", line 593, in _validate
    value = self._cross_validate(obj, value)
  File "/anaconda/envs/py35/lib/python3.5/site-packages/traitlets/traitlets.py", line 599, in _cross_validate
    value = obj._trait_validators[self.name](obj, proposal)
  File "/anaconda/envs/py35/lib/python3.5/site-packages/traitlets/traitlets.py", line 907, in __call__
    return self.func(*args, **kwargs)
  File "/anaconda/envs/py35/lib/python3.5/site-packages/jupyterhub/services/auth.py", line 439, in _ensure_not_empty
    raise ValueError("%s cannot be empty." % proposal.trait.name)
ValueError: oauth_client_id cannot be empty.
回溯(最近一次呼叫最后一次):
get中的文件“/anaconda/envs/py35/lib/python3.5/site packages/traitlets/traitlets.py”,第528行
value=obj.\u trait\u值[self.name]
KeyError:“oauth\u客户端\u id”
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“/anaconda/envs/py35/bin/jupyterhub singleuser”,第6行,在
main()
文件“/anaconda/envs/py35/lib/python3.5/site packages/jupyterhub/singleuser.py”,主文件第455行
返回SingleUserNotebookApp.launch\u实例(argv)
文件“/anaconda/envs/py35/lib/python3.5/site packages/jupyter_core/application.py”,第267行,在launch_实例中
返回super(JupyterApp,cls)。启动_实例(argv=argv,**kwargs)
文件“/anaconda/envs/py35/lib/python3.5/site packages/traitlets/config/application.py”,第657行,在启动实例中
应用程序初始化(argv)
文件“”,第2行,在初始化中
文件“/anaconda/envs/py35/lib/python3.5/site packages/traitlets/config/application.py”,catch\u config\u error第87行
返回方法(应用程序、*args、**kwargs)
文件“/anaconda/envs/py35/lib/python3.5/site packages/notebook/notebookapp.py”,第1296行,在初始化中
self.init_webapp()
init_webapp中的文件“/anaconda/envs/py35/lib/python3.5/site packages/jupyterhub/singleuser.py”,第393行
self.init\u hub\u auth()
文件“/anaconda/envs/py35/lib/python3.5/site packages/jupyterhub/singleuser.py”,第388行,在init_hub_auth中
如果不是self.hub_auth.oauth_client_id:
文件“/anaconda/envs/py35/lib/python3.5/site packages/traitlets/traitlets.py”,第556行,在__
返回self.get(obj、cls)
get中的文件“/anaconda/envs/py35/lib/python3.5/site packages/traitlets/traitlets.py”,第535行
value=self.\u验证(obj,dynamic\u default())
文件“/anaconda/envs/py35/lib/python3.5/site packages/traitlets/traitlets.py”,第593行,在
值=自身。交叉验证(obj,值)
文件“/anaconda/envs/py35/lib/python3.5/site packages/traitlets/traitlets.py”,第599行,交叉验证
value=obj.\u trait\u验证器[self.name](obj,提案)
文件“/anaconda/envs/py35/lib/python3.5/site packages/traitlets/traitlets.py”,第907行,在调用中__
返回self.func(*args,**kwargs)
文件“/anaconda/envs/py35/lib/python3.5/site packages/jupyterhub/services/auth.py”,第439行,请确保不为空
raise VALUERROR(“%s”不能为空。“%proposal.trait.name)
ValueError:oauth_客户端_id不能为空。

我不确定我在这个过程中哪里出错了。有人知道这个问题吗?

尝试运行
jupyterhub
而不是
jupyterhub singleuser
对于您的特定用例,命令如下:
sudo/anaconda/envs/py35/bin/python/anaconda/envs/py35/bin/jupyterhub--port=50387--notebook dir=“~/notebooks”--config=/etc/jupyterhub/jupyterhub\u config.py


确保jupyterhub安装在您提到的路径中(正确)。

我这样做了,但它仍然没有运行jupyterhub singleuser--笔记本目录无法识别。请不要直接运行jupyterhub singleuser。运行jupyterhub它将在内部执行jupyterhub singleuser。如果出现任何新错误,请编辑问题。(或新日志)您解决了这个问题吗?怎么了?嘿!我的问题是,8000端口的传出流量被网络管理员阻止。一旦解决了这个问题,我就可以访问jupyter,这个问题就再也没有出现过。对不起,这帮不了什么忙!