Удаленный блокнот Jupyter / Jupyter Lab не может подключиться к ядру без туннелирования ssh

У меня проблема с открытием удаленного Jupyter Lab / Jupyter Notebook, он не подключается к ядру, я упомянул шаги настройки, возникла проблема и попыталась исправить ниже. Мы приветствуем любые решения, предложения или указания. Заранее спасибо.

Следующие шаги по настройке:

Я использую новую установку Anaconda 3 в Ubuntu 20.04 LTS. Я настроил Jupyter Notebook / Jupyter Lab для удаленного доступа с помощью метода , приведенного в этом ответе (IP-адрес этого компьютера 172.17.25.75), я процитировал следующие шаги:

Шаг 1. jupyter notebook --generate-config

Шаг 2. gedit /home/koushik/.jupyter/jupyter_notebook_config.py и измените значения c.NotebookApp.allow_origin = '*' и c.NotebookApp.ip = '0.0.0.0.

Шаг 3. Разрешите порт sudo ufw allow 8888

Шаг 4. Установите пароль jupyter notebook password

Шаг 5. Запустите Jupyter Lab с помощью jupyter lab --no-browser или запустите Jupyter Notebook с помощью jupyter notebook --no-browser

И получить доступ к Jupyter Lab / Jupyter Notebook с моего компьютера, используя http://172.17.25.75:8888 в браузере. .

Я использую прокси-сервер Institue. Когда я подключаюсь к Jupyter Lab или Jupyter Notebook, используя ssh-туннелирование ssh -N -f -L localhost:8889:localhost:8888 [email protected] и получаю доступ localhost:8889, все работает нормально. Но когда я не использую туннелирование и не обращаюсь к ним по IP, возникают следующие ошибки.

Проблема с Jupyter Lab:

После выполнения команды jupyter lab --no-browser ниже выводится терминал:

(base) zuddler@silplab:~$ jupyter lab --no-browser
[I 11:42:09.625 LabApp] JupyterLab extension loaded from /home/zuddler/anaconda3/lib/python3.8/site-packages/jupyterlab
[I 11:42:09.625 LabApp] JupyterLab application directory is /home/zuddler/anaconda3/share/jupyter/lab
[I 11:42:09.627 LabApp] Serving notebooks from local directory: /home/zuddler
[I 11:42:09.627 LabApp] Jupyter Notebook 6.1.4 is running at:
[I 11:42:09.627 LabApp] http://silplab:8888/
[I 11:42:09.627 LabApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[I 11:42:15.449 LabApp] Build is up to date

При открытии http://172.17.25.75:8888 в браузере и запуске записной книжки python 3 он попросил выберите ядро

снимок экрана 1  скриншот 1

при выборе ядра Python 3 он говорит

**Error Starting Kernel**
Invalid Response: 405 Method Not Allowed

снимок экрана 2  скриншот 2

но ядро ​​было запущено, и терминал показал следующую строку

[I 11:46:47.547 LabApp] Kernel started: 572fa891-918c-486c-997a-96dd19651968, name: python3

что также видно из скриншота ниже

снимок экрана 3  screenshot 3

при выборе помеченного ядра выдает ту же ошибку, что и на скриншоте 2.

После выполнения jupyter kernelspec list была возвращена одна деталь ядра

(base) zuddler@silplab:~$ jupyter kernelspec list
Available kernels:
  python3    /home/zuddler/anaconda3/share/jupyter/kernels/python3

Проблема с Jupyter Notebook:

После выполнения команды jupyter notebook --no-browser ниже выводится терминал:

(base) zuddler@silplab:~$ jupyter notebook --no-browser
[I 11:55:20.472 NotebookApp] JupyterLab extension loaded from /home/zuddler/anaconda3/lib/python3.8/site-packages/jupyterlab
[I 11:55:20.472 NotebookApp] JupyterLab application directory is /home/zuddler/anaconda3/share/jupyter/lab
[I 11:55:20.474 NotebookApp] Serving notebooks from local directory: /home/zuddler
[I 11:55:20.474 NotebookApp] Jupyter Notebook 6.1.4 is running at:
[I 11:55:20.474 NotebookApp] http://silplab:8888/
[I 11:55:20.474 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

После открытия http://172.17.25.75:8888 в браузере и запуска ранее созданной записной книжки python 3 он выдал ошибку Kernel not found попросил выбрать ядро

снимок экрана 4  скриншот 4

при нажатии Set Kernel он дал ошибку подключения, как показано ниже

снимок экрана 5  введите описание изображения здесь

но снова было запущено ядро, и терминал показал следующую строку (похожую на Jupyter Lab)

[I 11:55:42.447 NotebookApp] Kernel started: d6af7843-cf02-43ce-adc2-14a7659ee4ff, name: python3

Опять же, при выполнении jupyter kernelspec list была возвращена одна деталь ядра

(base) zuddler@silplab:~$ jupyter kernelspec list
Available kernels:
  python3    /home/zuddler/anaconda3/share/jupyter/kernels/python3

Попытка исправить

Попробуйте 1. Пытался обновить jupyter с помощью conda update jupyter, он вернул

(base) zuddler@silplab:~$ conda update jupyter
Collecting package metadata (current_repodata.json): done
Solving environment: done

# All requested packages already installed.

Итак, я попытался проверить, есть ли у меня последние версии conda и jupyter, и он вернул:

(base) zuddler@silplab:~$ jupyter --version
jupyter core     : 4.6.3
jupyter-notebook : 6.1.4
qtconsole        : 4.7.7
ipython          : 7.19.0
ipykernel        : 5.3.4
jupyter client   : 6.1.7
jupyter lab      : 2.2.6
nbconvert        : 6.0.7
ipywidgets       : 7.5.1
nbformat         : 5.0.8
traitlets        : 5.0.5
(base) zuddler@silplab:~$ conda --version
conda 4.9.2

Чтобы проверить, есть ли проблема с путем, я проверил, используя which как упомянутый здесь, и он вернулся

(base) zuddler@silplab:~$ which jupyter-notebook
/home/zuddler/anaconda3/bin/jupyter-notebook
(base) zuddler@silplab:~$ which jupyter-lab
/home/zuddler/anaconda3/bin/jupyter-lab
(base) zuddler@silplab:~$ which python
/home/zuddler/anaconda3/bin/python

Итак, пути были правильными.

Я также установил c.NotebookApp.allow_remote_access = True в .jupyter/jupyter_notebook_config.py файл (как упомянутый здесь), но это не устранило проблему.

Попробуйте 2. Чтобы убедиться, что в ядре указан правильный путь к python, я проверил kernel.json файл, путь к python 3 правильный.

(base) zuddler@silplab:~$ cat /home/zuddler/anaconda3/share/jupyter/kernels/python3/kernel.json
{
 "argv": [
  "/home/zuddler/anaconda3/bin/python",
  "-m",
  "ipykernel_launcher",
  "-f",
  "{connection_file}"
 ],
 "display_name": "Python 3",
 "language": "python"
}

Далее я попытался переименовать папку ядра как упомянутый в этом документе jupyter-notebook

Путь, заканчивающийся на ipykernel/resources, как в примере выше, является ядром по умолчанию. По умолчанию часто происходит то, что вы хотите, поэтому, если python3 kernelspec указывает на другое место, и вы не можете запустить ядро ​​Python, попробуйте удалить или переименовать эту папку kernelspec, чтобы открыть папку по умолчанию.

выполненные команды и выходные данные приведены ниже, он показал ядро ​​по умолчанию:

(base) zuddler@silplab:~$ cd /home/zuddler/anaconda3/share/jupyter/kernels/
(base) zuddler@silplab:~/anaconda3/share/jupyter/kernels$ ls
python3
(base) zuddler@silplab:~/anaconda3/share/jupyter/kernels$ mv python3 python3_bak
(base) zuddler@silplab:~/anaconda3/share/jupyter/kernels$ cd ~
(base) zuddler@silplab:~$ jupyter kernelspec list
Available kernels:
  python3        /home/zuddler/anaconda3/lib/python3.8/site-packages/ipykernel/resources
  python3_bak    /home/zuddler/anaconda3/share/jupyter/kernels/python3_bak

но я получаю те же ошибки.

Попробуйте 3. Я также пытался следовать приведенным рекомендациям в этом вопросе, но без толку.


person thepunitsingh    schedule 11.12.2020    source источник