Создание настольной панели запуска для jupyter-notebook, но внутри виртуальной среды python

Как и многие другие разработчики, я всегда следую этой процедуре, когда хочу запустить записные книжки jupyter, которые запускаются в моем хранилище (с виртуальной средой pipenv):

cd /path/to/your/repository
pipenv shell (or conda activate, or other virtualenvs)
jupyter-notebook

Но это боль в заднице. Я хотел бы иметь настольное приложение, которое делало это автоматически, и поэтому я следую этому руководству.

Код, который я вставил в сценарий оболочки для модуля запуска, - это именно та процедура, которую я выполняю каждый день (то же самое, что выше этих строк).

Но когда я хочу

source jupyterlauncher.sh

Терминал застревает сразу после активации среды! Это похоже на то, как будто Ubuntu создал совершенно новый терминал после этой линии.

Кто-нибудь знает, как этого можно достичь? заранее спасибо

2 ответа

Это можно сделать, создав файл .desktop (например, jupyter.desktop). Содержимое файла может быть таким...

      [Desktop Entry]
Version=1.0
Name=Jupyter Notebook
Exec=bash -c 'cd /path/to/repository;source /path/to/venv/bin/activate;jupyter-notebook'
Icon=utilities-terminal
Terminal=true 
Type=Application
Categories=Application;
      "/path/to/reository" should be where you want to open the jupyter notebook
"source /path/to/venv/bin/activate" is the virtual environment activation command. Change this according to your virtual environment

jupyter-notebook Команда привязывается к терминалу, вам нужно отправить его на задний план, просто добавьте амперсанд & до конца строки, вот так:

jupyter-notebook &

Помните, что теперь вам нужно выйти из сервера через веб-интерфейс.

Другие вопросы по тегам