JupyterHub - oauth_client_id не найден - PullRequest
0 голосов
/ 30 апреля 2018

Я использую Azure для запуска ноутбука Python с помощью Jupyterhub. После вращения виртуальной машины я смог получить доступ к ноутбукам, просто используя свое имя пользователя и пароль (как ssh). Однако однажды спустя, когда я переключился на другую сеть (я не утверждаю, что сеть могла быть проблемой), я не могу получить доступ к ссылке. Это дает мне The site can't be reached ошибку.

Так что я попытался снова запустить процесс, и с тех пор я изо всех сил пытался заставить его работать снова. Я искал похожие проблемы на 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

И я добавил этот токен в JUPYTERHUB_API_TOKEN через export JUPYTERHUB_API_TOKEN=token. Я также добавил токен: имя пользователя в c.Authenticator.tokens в jupyterhub_config.py. Теперь я получаю эту ошибку:

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.

Я не уверен, где я ошибся в этом процессе. Кто-нибудь знаком с этой проблемой?

1 Ответ

0 голосов
/ 03 мая 2018

Попробуйте запустить jupyterhub вместо jupyterhub-singleuser Для вашего конкретного случая использования команда будет выглядеть следующим образом:
sudo /anaconda/envs/py35/bin/python /anaconda/envs/py35/bin/jupyterhub --port=50387 --notebook-dir="~/notebooks" --config=/etc/jupyterhub/jupyterhub_config.py

Убедитесь, что jupyterhub установлен (правильно) по указанному вами пути.

...