#jupyter-notebook
#jupyter-notebook
Вопрос:
Предположим следующее: я локально запускаю jupyter-notebook
сервер в своем домашнем каталоге.
У меня есть следующие файлы в ~/temp/jupyter_link
:
index.ipynb python_file.py
В ячейке разметки в index.ipynb
я хочу создать ссылку на python_file.py
. Эта ссылка должна открываться python_file.py
в редакторе jupyter-notebook. Я могу сделать это с:
[python_file](https://localhost:8888/edit/temp/jupyter_link/python_file.py)
Однако эта ссылка содержит абсолютный путь python_file.py
. Я хочу использовать относительный путь (с базовым каталогом, являющимся каталогом из index.ipynb
). Я могу создать ссылку, используя относительный путь с:
[python_file](python_file.py)
Однако, если я нажму на эту ссылку, меня попросят загрузить файл, и он не открывается в редакторе jupyter-notebook.
Возможно ли создать ссылку, которая открывает файл python с помощью редактора jupyter-notebook, но использует относительный путь? Псевдокод, который я представляю, будет выглядеть примерно так:
[python_file](edit:python_file.py)
Вдохновленный ответом @Ivan, я мог бы добавить, что
[python_file](/edit/temp/jupyter_link/python_file.py)
также открывается редактор. Это удаляет имя хоста из ссылки, но по-прежнему не дает мне относительной ссылки.
Ответ №1:
Кажется, что следующее работает (в настоящее время?) в Jupyter 5.4.1 и Jupyterlab 0.32.1:
[python_file](./python_file.py)
Ответ №2:
Вы уже отметили, как это решается в вашем вопросе, но я вроде как пропустил это
[python_file](/edit/temp/jupyter_link/python_file.py)
на самом деле это лучший ответ. Я понял это после того, как нашел, как создать относительную ссылку, и я почти закончил писать это. Итак, вот объяснение того, как сделать относительное и почему приведенная выше ссылка на самом деле лучше.
Из index.ipynb
меню «Использовать файл Jupyter»> «открыть» перейдите к python_file.py
. Посмотрите на его адрес, в этом случае это должно быть что-то вроде
https://localhost:8888/edit/temp/jupyter_link/python_file.py
Теперь посмотрите на адрес вашего индексного файла, должно быть что-то вроде:
https://localhost:8888/notebooks/temp/jupyter_link/index.ipynb
Чтобы перейти к /edit
каталогу из /notebooks
, вам нужно создать резервную копию нескольких каталогов ..
. Ссылка должна быть примерно такой
[python_file](../../edit/temp/jupyter_link/python_file.py)
Тем не менее, вы всегда будете выполнять резервное копирование в базу каталога сервера Jupyter, чтобы перейти /notebooks
к /edit
нему, поэтому просто забудьте о подсчете ../
и просто начните /edit
.