Создание виртуальных сред в Visual Studio

Все исходники / Язык программирования Python / OS Windows / Инструменты программирования / Интегрированные среды программирования / Создание виртуальных сред в Visual Studio
Оглавление:
  1. Окружения Python в Visual Studio
  2. Выбор способа создания виртуальных сред
  3. Создание новой виртуальной среды
  4. Добавление существующей виртуальной среды
  5. Установка среды Conda, Anaconda, Miniconda
  6. Активация выбранной среды
  7. Добавление и удаление пакетов из виртуальной среды
  8. Удаление выбранной среды
  9. Исходник проекта Flask для тестирования окружений

Окружения Python в Visual Studio

Скорее всего после создания проекта Python, например, Flask или Django, запустить данный проект не удастся. И причина здесь в отсутствии установленной виртуального окружения. Виртуальная среда (она же окружение) специфична для каждого проекта, поэтому по умолчанию ее создавать не имеет смысла. Как правило, IDE Visual Studio оповещает о необходимости создания виртуальной среды для текущего проекта.

Работа с окружениями в Visual Studio несложна, интуитивно понятна и может вызвать затруднения только при первых попытках создания сред. В один проект можно установить и включить множество сред, но проект будет работать только с одной активированной средой. На странице описаны способы создания виртуальных сред и сред Conda в IDE Visual Studio на примере фреймворка Flask, но данные процедуры подойдут для любых проектов Python в Visual Studio.

Ниже прикреплен исходник проекта Flask для быстрого начала тестовой работы с виртуальными средами. Попрактиковавшись на тестовом исходнике, можно получить достаточно уверенные навыки манипулирования средами (окружениями) в Visual Studio. О создании виртуальных сред с помощью командной строки можно прочитать на странице Виртуальные среды venv Python в Windows.

Выбор способа создания виртуальных сред

Создание виртуальной среды в Visual Studio начинается с вызова диалогового окна способов создания и включения в проект виртуальных сред. Окно списка способов создания виртуальных сред вызывается таким образом:
в Обозревателе решений вызвать контекстное меню папки Окружения Python (папка отображения всех виртуальных сред) и нажать на пункт Добавить среду…

Добавить среду Python в Visual Studio
Добавить среду Python в Visual Studio

В результате вышеописанных действий откроется диалоговое Добавление окружения с предложением различных способов создания виртуальных сред.

 Окно добавления окружения Python в Visual Studio
Окно добавления окружения Python в Visual Studio

Создание новой виртуальной среды

Первый пункт Виртуальная среда в левом столбике (см. скриншот выше) предназначен для создания новых виртуальных сред. При наличии нескольких проектов в составе решения в выпадающем списке выбирается соответствующее имя проекта, для которого устанавливается виртуальная среда. По умолчанию новая виртуальная среда Python создается в каталоге проекта и в ее рабочих файлах прописывается данный абсолютный путь.

Далее назначается имя папки виртуальной среды и выбирается базовый интерпретатор Python установленный в операционной системе, который будет создавать виртуальную среду. Если у вас есть подготовленный файл requirements.txt (или иного названия) со списком требуемых для установки пакетов, то его абсолютный путь надо указать в окне ввода Установить пакеты из файла(необязательно), это можно сделать привязанной кнопкой с многоточием. Информацию о файле требований для проектов Python можно получить на странице Виртуальные среды Python.

При необходимости можно изменить расположение виртуальной среды, например создать ее на локальном хосте для целей упрощения публикации веб-проекта. Чекбокс Установить в качестве текущей среды активируется после создания второго и последующих окружений. При выборе чекбокса созданная виртуальная среда автоматически активируется.

Выбор чекбокса Просмотреть в окне сред Python предназначен для удобства и позволяет после окончания процедуры установки виртуальной среды просмотреть их список в окне Обозревателя решений.

Чекбокс Сделать эту среду доступной глобально предоставит доступ к данной среде любым проектам, создающимся в данной операционной системе. Надо заметить, что локальные среды более безопасны и рекомендуются к использованию. Глобальные среды создаются для редких и специфических целей, например для быстрого тестирования приложений Python без временных затрат на создание локальных виртуальных сред.

Добавление существующей виртуальной среды

При активации вкладки Существующие среды появляется возможность использования в проекте ранее созданных виртуальных сред. Окно списка Среда предлагает список глобальных и установленных ранее локальных сред, пункт Custom позволяет указать путь до любой требуемой среды. При этом надо иметь в виду, что установка пакетов Python из проекта Visual Studio будет осуществляться в путь выбранной среды. В таких случаях при использовании готовой среды в нескольких проектах возможны конфликты версий пакетов.

Добавление существующих сред Python в Visual Studio
Добавление существующих сред Python в Visual Studio

В качестве префикса пути выбирается непосредственно папка виртуальной среды, если указать родительскую папку среды интеллект Visual Studio будет искать интерпретаторы Python и оконный PythonW (для графических приложений, без открытия консольного окна ) во вложенных папках. При удалении существующей среды будьте внимательны при выборе пунктов: исключить среду из проекта или физически удалить с диска, без возможности восстановления.

Установка среды Conda, Anaconda, Miniconda

Conda – это кроссплатформенная система управления пакетами и виртуальными средами, в отличие от pip, она может устанавливать интерпретатор Python и создавать изолированные среды, которые могут содержать разные версии Python и установленные в них пакеты. Перед созданием окружения с помощью Conda Visual Studio требует предварительную установку Miniconda или Anaconda в операционной системе.

Anaconda и Miniconda – это наборы предустановленных пакетов в основном для разработки программ научных вычислений и машинного обучения. Наборы отличаются только количеством предустановленных пакетов. Anaconda и Miniconda универсальны и могут использоваться в формировании сред для любых Python проектов, например для Django, Flask. Пакет Conda и менеджер среды включены во все версии Anaconda и Miniconda. Если на машине установлены одновременно две системы Conda, то Visual Studio будет создавать среды только на основе одного из наборов.

Добавление сред Conda Python Visual Studio
Добавление сред Conda Python Visual Studio

Создание сред Conda похоже на создание «обычных» виртуальных сред: выбор проекта, определение названия папки среды, создание среды по файлу конфигурации. Окно Предварительный просмотр пакетов позволяет просмотреть уже установленные пакеты. Добавить пакеты в этот набор можно с помощью файла environment.yml либо вручную сформировать список дополнительных пакетов в окне ввода Одно или несколько имен пакетов Anaconda.

environment.yml – файл конфигурации среды Conda, некоторый аналог файла requirements.txt. Название environment.yml общепринятое, но поддерживаются любые названия данного файла. Создается он вне Visual Studio с помощью командной строки Anaconda Prompt, которая формируется при установке любого из наборов Conda. Команда создания файла:
conda env export -n название_среды -f абсолютный_путь_желаемое_имя_файла_yml,
например:
conda env export -n env15 -f G:\MyProjects\miniconda3\envs\env15\environment15.yml

Среды Conda устанавливаются не в каталог проекта, а в каталог Miniconda или Anaconda, в папку envs. Среды Conda становится фактически глобальными и видны всем проектам Python в IDE Visual Studio Обозреватель решений->Окружения Python->Просмотреть все окружения. И эти среды будут отображаться на вкладке Существующие среды.

Некоторые пакеты Conda могут «капризничать» при создании среды, например, может выпасть ошибка:
CondaVerificationError: The package for tensorflow-base located at G:\MyProjects\Programming\Pythons\miniconda3\pkgs\tensorflow-base-2.10.0-mkl_py310h6a7f48e_0
В таких случаях, чтобы не терять время на поиск причин ошибок, можно скачать с определенных каналов(веб-адресов) пакеты вручную и установить их в определившуюся при ошибке папку, например:
в ошибке выше, папка установки пакета tensorflow -
G:\MyProjects\Programming\Pythons\miniconda3\pkgs\. Узнать каналы (веб-адреса) скачивания можно командой:
conda info в окне Anaconda Prompt. Таким образом можно принудительно установить необходимый пакет в базовую среду Conda и затем повторить создание ваших сред в Visual Studio.

Anaconda prompt, информация установки
Anaconda prompt, информация установки

Активация выбранной среды

 в Visual Studio

Желаемая среда (или окружение) активируется из контекстного меню названия среды пунктом Активировать окружение. Активированная среда выделяется жирным шрифтом и помечается зеленым треугольником.

Добавление и удаление пакетов из виртуальной среды

Один из способов изменить конфигурацию виртуальной среды (добавить или удалить пакеты) в Visual Studio это в Обозревателе решений вызвать контекстное меню из строки Окружения Python и нажать на пункт Просмотреть все окружения Python.

Изменение конфигурации виртуальной среды в Visual Studio
Изменение конфигурации виртуальной среды в Visual Studio

При выборе в верхнем окошке виртуального окружения, в нижнем отобразятся пакеты входящие в данную среду. Название пакета, который требуется добавить в среду, печатается в окне ввода Поиск по Conda(PyPI) …, затем нажать на появившуюся строку команды установки. При этом интеллект Visual Studio автоматически использует соответствующий типу среды установщик: Conda или PyPI. Но если необходимо использовать другой установщик, его можно выбрать в окне Пакеты Conda(PyPI).

Обновить пакет, входящий в выбранное окружение можно нажатием на строку с иконкой стрелки вверх и цифрами новой версии пакета напротив названия самого пакета.

Для удаления пакеты из виртуальной среды достаточно щелкнуть на крестик напротив названия пакета, выбранный пакет удалится из состава среды Conda или PyPI.

Удаление выбранной среды

Виртуальная среда удаляется из контекстного меню названия среды пунктом Удалить. При этом появляется диалоговое окно с вариантами удаления:
Исключить - среда исключается из проекта, но физически не удаляется с диска.
Удалить - папка с файлами среды удаляется с диска, без возможности восстановления.

Удаление виртуальной среды PyPI в Visual Studio

Среды Conda, поскольку они являются глобальными и могут использоваться несколькими проектами, не удаляются физически, а только исключаются из проекта. Физически они остаются в каталогах установки наборов Conda: Anaconda и Miniconda.

Удаление среды Conda в Visual Studio

Исходник проекта Flask для тестирования окружений

Для быстрого начала работы по тестированию создания, изменения и удаления сред PyPI и Conda ниже прикреплен исходник сайта на Python Flask. Исходник создан в IDE Visual Studio 2022 и не содержит виртуальных сред. Среды создаются самостоятельно последовательным процессом –
Создание-> Изменение пакетов-> Удаление.

Скачать исходник

Тема: «Создание виртуальных сред в Visual Studio» Язык программирования Python PythonFlaskCreateEnv-vs17.zip Размер:362 КбайтЗагрузки:23