Jupyter Notebook не даёт перемещаться в корневую папку

Мой локальный Jupyter Notebook, установленный у меня на ПК, видит только те файлы, которые находятся в папке, в которой он сам (юпитер) установлен. В каталоге (дереве) файлов нет '...' и уйти выше этой папки по директории (например, на другой диск) нельзя, поэтому все файлы для работы приходится переносить в эту папку.

Собственно, как сделать так, чтобы в каталоге можно было перемещаться по всему ПК, а не только по этой папке?


Ответы (1 шт):

Автор решения: Vitalizzare

notebook 6.4.12 jupyterlab 4.1.0

По умолчанию, Jupyter выбирает текущую рабочую директорию в качестве корня файловой системы. Вероятно, вы запускаете программу из папки, где установлен Jupyter, и она автоматически выбирается как рабочее пространство.

Как задать корневой каталог для сервера Jupyter

Смените текущую директорию перед выполнением команды jupyter-notebook, либо укажите её явно параметром --notebook-dir=. Например, в Linux я использую алиас для запуска Jupyter с корневым каталогом workspace:

alias jn='jupyter-notebook --notebook-dir=$HOME/workspace'

Мы можем изменить дефолтное значение notebook-dir, сгенерировав файл настроек. Приложения Jupyter (и Notebook не исключение) имеют команду --generate-config:

jupyter-notebook --generate-config

Результатом её выполнения будет код на Python. Для приложения Notebook - это файл $HOME/.jupyter/jupyter_notebook_config.py. В нем прописаны значения по умолчанию всех параметров. Корневой каталог задается строкой c.NotebookApp.notebook_dir = ''. Смените пустую строку '' на полный путь куда надо. Например:

import os

c = get_config()
c.NotebookApp.notebook_dir = os.path.join(os.environ['HOME'], 'workspace')

С такими настройками команда jupyter-notebook будет запускаться из workspace, если --notebook-dir= явно не задан.

Для Jupyter Lab работает все то же самое с такой приоритетностью:

  • параметры, явно указанные после команды jupyter-lab;
  • jupyter_lab_config.py, если есть;
  • jupyter_notebook_config.py, если есть;
  • параметры по умолчанию, прописанные в приложении.

Как выйти за пределы корневого каталога Jupyter

Можно создать ссылку на корень файловой системы, но лучше так не делать. Jupyter - это прежде всего сервер, а не файловый менеджер. При необходимости, файл можно загрузить в его рабочее пространство кнопкой Upload. В крайнем случае, мы могли бы указать --notebook-dir=$HOME, сделав домашнюю директорию рабочим пространством. Ну а непосредственно в коде или терминале нам всегда доступны все локальные файлы.

upload file in jupyter workspace


см. также:

→ Ссылка