JupyterHub - oauth_client_id не найден

Я использую 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. Я также добавил token: username в 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.

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


person pg2455    schedule 30.04.2018    source источник
comment
Вы это решили? Как?   -  person Davide    schedule 23.08.2018
comment
Привет! Моя проблема заключалась в том, что исходящий трафик на порт 8000 блокировался администратором сети. Как только это было решено, я смог получить доступ к jupyter, и эта проблема больше никогда не возникала. Извините, здесь ничем не могу помочь!   -  person pg2455    schedule 24.08.2018


Ответы (1)


Попробуйте запустить 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 установлен (правильно) по указанному вами пути.

person Sangram Gaikwad    schedule 03.05.2018
comment
Я сделал это, но jupyterhub-singleuser все еще не запущен; --notebook-dir не распознается - person pg2455; 04.05.2018
comment
Не запускайте jupyterhub-singleuser напрямую. Запустите jupyterhub, он внутренне выполнит jupyterhub-singleuser. Пожалуйста, отредактируйте вопрос, если у вас появятся новые ошибки. (или новые журналы) - person Sangram Gaikwad; 04.05.2018