Окружения обеспечивают изолированные пространства для работы в Jupyter Server. В инструкции рассмотрим создание окружения в Jupyter Server с предустановленной conda и без.
Виртуальное окружение — это инструмент, позволяющий создавать изолированные среды для выполнения и разработки приложений.
С помощью виртуального окружения можно установить и использовать различные версии пакетов и зависимостей для каждого проекта, изолируя их друг от друга и предотвращая конфликты или несовместимости.
Используя виртуальное окружение, вы получаете:
- Изоляцию зависимостей. Каждое виртуальное окружение имеет собственный независимый набор зависимостей и пакетов, что позволяет избежать конфликты между различными версиями пакетов. 
- Управление версиями. 
- Чистоту проекта. Виртуальное окружение помогает поддерживать проект организованным, так как все зависимости и пакеты проекта хранятся в отдельной директории. 
- Переносимость. Вы можете передать виртуальное окружение на другую машину или другим разработчикам, что позволяет вести совместную работу над проектом. 
- Использование виртуальных окружений рекомендуется для разработки проектов, поскольку он помогает управлять и упрощать зависимости и версии, а также поддерживать проект в чистом и организованном состоянии. 
Настройка окружения в Jupyter Server запущенном из образа jupyter-server
Jupyter Server должен быть создан из образа jupyter-server версии 0.0.90 и выше, так как в нем уже предварительно установлена conda.
Рассмотрим пример создания окружения с версиями:
Python — 3.11.
CUDA — 12.1.0.
- Поддерживается установка версии CUDA, начиная с 11.8 и выше. 
- При работе в Jupyter Server, созданном из последней версии образа jupyter-server, необходимо пересоздать окружения, созданные в предыдущих версиях jupyter-server. Пересоздание поможет избежать некорректного поведения окружения. 
- Создайте Jupyter Server с образом cr.ai.cloud.ru/aicloud-jupyter/jupyter-server версии 0.0.90 и выше. 
- Выберите JupyterLab. 
- Вызовите справку с помощью команды: mlspace environments create --help  
- В терминале выполните команду: mlspace environments create --env llama_trainer --python 3.11 --cuda 12.1.0- Доступные CUDA-версии приведены в документации Anaconda.  См.также См.также
- Проверьте наличие созданного окружения: mlspace environments list Примечание Примечание- Список доступных окружений может выводиться достаточно долго из-за проверки CUDA в каждом образе. В дальнейших релизах мы ускорим работу. - Обратите внимание, что при выполнении команды conda env list вы можете увидеть в терминале список незнакомых окружений. Эти окружения остались от ранее созданных ноутбуков. - Удалите лишние окружения, если: - Jupyter Server, в которых они были созданы, уже удалены. 
- Необходимо освободить место на NFS. 
- Созданное окружение испорчено или неактуально. 
   
Что дальше
Настройка окружения в Jupyter Server запущенном из образа без conda
Этот способ применим для базовых образов, кроме jupyter-server версии 0.0.90 и выше.
- Перейдите в Environments → Jupyter Servers. 
- Создайте или перейдите в созданный Jupyter Server, используя JupyterLab. 
- Нажмите +.   
- Выберите Terminal. 
- Создайте окружение, последовательно выполняя команды в окне терминала: conda create -n test_env python=required_python_versionconda init bash/bin/bashconda activate test_envconda install -c anaconda ipykernel -ypython -m ipykernel install --user --name=Test_env- В результате выполнения команды создается окружение с названием test_env и указанной в переменной required_python_version версией Python. 
Пример создания окружения с версией Python 3.9
- Создайте окружение, последовательно выполняя команды в окне терминала: conda create -n env3.9 python=3.9conda init bash/bin/bashПримечание- Команды, начиная с conda activate env3.9, должны выполняться в рамках пространства (env3.9) jovyan@your-jupyter-name-0:~$  
- Активируйте созданное окружение, последовательно выполняя команды в окне терминала: conda activate env3.9conda install -c anaconda ipykernel -ypython -m ipykernel install --user --name=env3.9- В результате выполнения будет создано окружение с названием env3.9 и версией Python 3.9.18.   
- Перейдите в созданное окружение env3.9: - В Jupyter - В JupyterLab - Нажмите Kernel → Change kernel и выберите созданное окружение. - Нажмите Python 3 (ipykernel) и выберите созданное окружение. 
- Выполните команду в Jupyter Notebook: from platform import python_versionprint(python_version())- В результате будет показана установленная в окружении версия Python.   
Созданное окружение будет удалено после приостановки Jupyter Server. Окружение с нужной версий Python нужно повторно создать после перезапуска Jupyter Server.
Удалить созданное окружение
- Перейдите в терминал Jupyter Server. 
- В зависимости от того, какое окружение нужно удалить, выполните одну из команд: - Чтобы удалить окружение conda, выполните команду: conda env remove -n environment_name
- Если необходимо удалить окружение из Jupyter, выполните: jupyter kernelspec uninstall environment_name
 
Другие команды можно посмотреть на GitHub.
Что дальше
- Настройка окружения в Jupyter Server запущенном из образа jupyter-server
- Настройка окружения в Jupyter Server запущенном из образа без conda