Создание настольной панели запуска для 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 &
Помните, что теперь вам нужно выйти из сервера через веб-интерфейс.