Для поддержки совместимости каждая независимая версия проекта на Python должна содержать свой специфический набор совместимых библиотек, что достигается путем создания виртуальных окружений.
Способы их формирования в зависимости от используемых инструментов приведены ниже:
1. встроенный модуль venv:
python -m venv имя_окружения
(например, python -m venv kernel_env)
2. с дистрибутивом Anaconda:
conda create --name имя_окружения python=версия
(например, conda create -n kernel_env python=3.8 pip)3. с пакетом virtualenv:virtualenv имя_окружения -p путь_к_интерпретатору(например, virtualenv -p $(which python3) my_path)
4. с virtualenvwrapper:
source virtualenvwrapper.sh
mkvirtualenv --python=версия имя_окружения
(mkvirtualenv --python=python3.8 kernel_env)
Подробнее о методах писал ранее.
Активация/деактивация окружения
1. для venv и virtualenv:
source my_path/bin/activate - в Linux
или
my_path\Scripts\activate - в Windows
2. для Anaconda:
conda activate myenv
3. для virtualenvwrapper:
workon имя_окружения
По команде deactivate либо conda deactivate (для Anaconda) происходит деактивация виртуальной среды и завершение работы с ней.
Создание kernel-ов в Jupyter
1. предварительно создаем и активируем виртуальную среду
2. устанавливаем пакет ipykernel:
pip install ipykernel
3. сохраняем kernel:
python -m ipykernel install --user --name myenv --display-name "Python (myenv)"
--name используется для внутренних нужд, а --display-name отображается в меню выбора ядер.
Следует отметить, что в некоторых случаях может понадобится дополнительно установить в окружение kernel-а пакет jupyter.
Для отображения списка установленных ядер воспользуйтесь командой:
jupyter kernelspec list
На Mac ядра создаются в папке - папка_пользователя/Library/Jupyter/kernels/
в Windows - папка_пользователя\AppData\Roaming\jupyter\kernels