Комфортные настройки для начала работы с Jupyter в Unix
Начну с того, что Jupyter лучше ставить в основное окружение, а для всех остальных виртуальных сред создавать kernel-ы, которые впоследствии подключать к конкретному ноутбуку. Тогда для старта будет достаточно запустить терминал и набрать:
jupyter lab (или jupyter notebook)
Удобный старт/стоп
Чтобы основное окружение было активно при старте терминала (если python установлен корректно, этого делать не придется), можно прописать в файле .bash_profile (иногда в других, например, .bashrc в зависимости от вида системы), находящемся в пользовательской директории (если его нет, создайте) команду активации окружения:
source /Users/19036412/Documents/python/envs/main/bin/activate
Возможно, команда активации будет другая (подробнее читай здесь)
Для останова Jupyter можно из другого окна терминала набрать:
jupyter lab stop (или jupyter notebook stop)
Однако не всегда удобно, что старт Jupyter блокирует командную строку, чтобы этого избежать можно запустить среду в фоновом режиме (& после команды) и указать, чтобы стандартный вывод и вывод ошибок осуществлялся в несуществующее устройство (&> /dev/null):
jupyter lab &> /dev/null & (или jupyter notebook &> /dev/null &)
Еще комфортнее станет работать после настройки псевдонимов для команд старта и останова все в том же .bash_profile (например):
alias ejup='jupyter lab stop' alias sjup='jupyter lab &> /dev/null &'
Настройка Kernel-ов
Для создания kernel-а в виртуальную среду:
устанавливаем пакет ipykernel:
pip install ipykernel
python -m ipykernel install --user --name имя_среды --display-name "отображаемой_имя"
--name используется для внутренних нужд, а --display-name отображается в меню выбора ядер. Если задать только display-name, то папка ядра будет названа python3 (на Linux находится внутри .local/share/jupyter/kernels) и станет перезаписываться для каждого нового ядра. Если же задать только --name, то этим именем будет названа папка для хранения информации о ядре и оно будет отображаться в меню выбора ядер. Поэтому без особой нужды задавайте только параметр --name.