Jupyter Notebook не даёт перемещаться в корневую папку
Мой локальный Jupyter Notebook, установленный у меня на ПК, видит только те файлы, которые находятся в папке, в которой он сам (юпитер) установлен. В каталоге (дереве) файлов нет '...' и уйти выше этой папки по директории (например, на другой диск) нельзя, поэтому все файлы для работы приходится переносить в эту папку.
Собственно, как сделать так, чтобы в каталоге можно было перемещаться по всему ПК, а не только по этой папке?
Ответы (1 шт):
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
, сделав домашнюю директорию рабочим пространством. Ну а непосредственно в коде или терминале нам всегда доступны все локальные файлы.
см. также: