Создание сред Python и управление ими в Visual Studio

Окружение Python представляет собой контекст, в котором выполняется код Python. Различают глобальные, виртуальные окружения и окружения Conda. Окружение состоит из интерпретатора, библиотеки (обычно это стандартная библиотека Python) и нескольких установленных пакетов. Вместе они определяют языковые конструкции и синтаксис, доступные возможности операционной системы и пригодные для использования пакеты.

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

Примечание.

Среды для кода Python, открываемого в качестве папки, можно управлять средами, выбрав команду "Открыть>папку файла".> Панель инструментов Python позволяет переключаться между всеми обнаруженными средами, а также добавлять новую среду. Сведения о среде хранятся в PythonSettings.json файле в папке рабочей области .vs .

Необходимые компоненты

  • Установленная рабочая нагрузка Python.

Если вы не знакомы с Python в Visual Studio, ознакомьтесь со следующими статьями для общего фона:

Окно "Окружения Python"

Окружения, обнаруженные Visual Studio, отображаются в окне Окружения Python. Чтобы открыть это окно, используйте один из следующих методов:

  • Выберите "Просмотреть>другие среды Windows>Python".
  • В обозревателе решений щелкните правой кнопкой мыши узел Окружения Python в нужном проекте и выберите Просмотреть все окружения Python.

Снимок экрана: команда

Снимок экрана: команда

Окно сред Python отображается вместе с Обозреватель решений в Visual Studio:

Снимок экрана: окно сред Python в Visual Studio 2019.

Снимок экрана: окно сред Python в Visual Studio 2022.

Visual Studio ищет установленные глобальные среды с помощью реестра (после PEP 514), а также виртуальных сред и сред conda (см . типы сред). Если нужное окружение не отображается в списке, ознакомьтесь с разделом Указание существующего окружения вручную.

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

Используйте раскрывающийся список в списке сред, чтобы перейти на разные вкладки, такие как пакеты и IntelliSense. Эти вкладки также описаны в справочнике по вкладкам окна "Окружения Python".

Выбор окружения не влияет на его связи с любыми проектами. Окружение по умолчанию, выделенное полужирным шрифтом в списке, используется Visual Studio для любых новых проектов. Чтобы использовать другое окружение для новых проектов, используйте команду Назначить это окружение по умолчанию для новых проектов. В контексте проекта всегда можно выбрать конкретное окружение. Дополнительные сведения см. в разделе о выборе окружения для проекта.

Справа от каждого окружения в списке есть элемент управления, который позволяет открыть интерактивное окно для этого окружения. (В Visual Studio 2017 15.5 и более ранних версиях другой элемент управления отображается, который обновляет базу данных IntelliSense для этой среды. Дополнительные сведения о базе данных см . на вкладке "Окружения Python".)

Совет

Если развернуть окно сред Python достаточно широко, вы увидите более полное представление сред, с которыми можно работать.

Снимок экрана: развернутое представление

Совет

Если развернуть окно сред Python достаточно широко, вы увидите более полное представление сред, с которыми можно работать.

Снимок экрана: развернутое представление

Примечание.

Несмотря на то что Visual Studio учитывает параметр system-site-packages, его нельзя изменить из среды Visual Studio.

Что делать, если окружения не отображаются?

Если вы не видите среды в окне сред Python, это означает, что Visual Studio не удалось обнаружить какие-либо установки Python в стандартных расположениях. Возможно, вы установили Visual Studio 2017 или более поздней версии, но очистили все параметры интерпретатора в параметрах установщика для рабочей нагрузки Python. Аналогичным образом вы, возможно, установили Visual Studio 2015 или более ранних версий, но не установили интерпретатор вручную. Дополнительные сведения см. в разделе "Установка интерпретаторов Python".

Если у вас есть интерпретатор Python на компьютере, но Visual Studio (любая версия) не обнаружил его, используйте команду +Custom , чтобы указать расположение интерпретатора вручную. Дополнительные сведения см. в статье о том, как вручную определить существующую среду.

Типы сред

Visual Studio может работать с глобальными, виртуальными окружениями и окружениями Conda.

Глобальные среды

Каждая установка Python поддерживает собственное глобальное окружение. Например, Python 2.7, Python 3.6, Python 3.7, Anaconda 4.4.0 и т. д. Дополнительные сведения см. в разделе "Установка интерпретаторов Python".

Каждая среда состоит из определенного интерпретатора Python, стандартной библиотеки и набора предварительно установленных пакетов. Он также содержит все другие пакеты, которые вы устанавливаете во время активации среды. Установив пакет в глобальном окружении, мы предоставляем к нему доступ для всех проектов, в которых оно используется. Если окружение находится в защищенной области файловой системы (например, в C:\Program files), для установки пакетов требуются права администратора.

Глобальные окружения доступны для всех проектов на компьютере. В Visual Studio вы можете выбрать одно глобальное окружение по умолчанию, которое будет использоваться для всех проектов, если вы не укажете другое для определенного проекта. Дополнительные сведения см. в разделе о выборе окружения для проекта.

Виртуальные среды

Работа в глобальном окружении — это простой способ приступить к работе. Со временем среды могут загромождаться множеством различных пакетов, установленных для различных проектов. Загромождения могут затруднить тщательно протестировать приложение с определенным набором пакетов с известными версиями. Но такая среда — это то, что вы ожидаете настроить на сервере сборки или веб-сервере. Когда двум проектам требуются несовместимые пакеты или разные версии одного пакета, могут возникать конфликты.

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

Visual Studio предоставляет прямую поддержку для создания виртуального окружения для проекта. Если открыть проект, содержащий requirements.txt файл, Visual Studio предложит автоматически создать виртуальную среду и установить эти зависимости. При создании проекта из шаблона, включающего requirements.txt файл, вы увидите такое же поведение.

Вы можете создать виртуальное окружение в открытом проекте в любой момент. В Обозревателе решений разверните узел проекта, щелкните правой кнопкой мыши элемент Окружения Python и выберите Добавить окружение. В окне Добавить окружение выберите Виртуальное окружение. Дополнительные сведения см. в разделе Создание виртуального окружения.

Visual Studio также предоставляет команду для создания requirements.txt файла из виртуальной среды, что упрощает повторное создание среды на других компьютерах. См. дополнительные сведения о виртуальных окружениях.

Окружения Conda

Среду conda можно создать с помощью conda средства или интегрированного управления conda в Visual Studio 2017 версии 15.7 и более поздних версий. Для среды conda требуется Anaconda или Miniconda. Эти платформы доступны с помощью Установщика Visual Studio. Дополнительные сведения см. в статье "Установка поддержки Python в Visual Studio".

  1. В окне "Среды Python" (или на панели инструментов Python) выберите "Добавить среду", чтобы открыть диалоговое окно "Добавить среду".

  2. В диалоговом окне "Добавить среду" выберите вкладку среды Conda:

    Снимок экрана: вкладка

  3. Задайте значения в следующих полях:

    Поле Description
    Проект Определяет проект, в котором создается среда.
    Имя Предоставляет имя среды conda.
    Добавление пакетов из Указывает, как добавлять пакеты в среду conda.
    - Файл среды: выберите этот параметр, если у вас есть environment.yml файл, описывающий зависимости. Введите имя файла или перейдите (...) в расположение файла и выберите файл.
    - Одно или несколько имен пакетов Anaconda: выберите этот параметр, если требуется перечислить один или несколько пакетов Python или версий Python.

    Этот список пакетов передает Conda задание на создание окружения Python. Чтобы установить последнюю версию Python, используйте python команду. Чтобы установить определенную версию, используйте команду python=,major>.<minor> как в python=3.7. Кнопка пакета позволяет выбрать версии Python и общие пакеты из нескольких меню.
    Установка в качестве текущей среды После создания окружения активирует его в выбранном проекте.
    Установка в качестве среды по умолчанию для новых проектов Автоматически устанавливает среду Conda и активирует ее во всех новых проектах, которые создаются в Visual Studio. Этот параметр эквивалентен параметру Make this the default environment for new projects (Назначить это окружение по умолчанию для новых проектов) в окне Окружения Python.
    Просмотр в окне "Среды Python" Указывает, нужно ли отобразить окно Окружения Python после создания окружения.

    Внимание

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

    Если вы создаете среду conda без версии Python, используйте conda info команду для просмотра расположений папок среды conda. Затем вы можете вручную удалить вложенную папку для среды из этого расположения.

  4. Нажмите кнопку создания.

    Вы можете отслеживать создание среды conda в окне вывода . После создания выходные данные отображают некоторые инструкции интерфейса командной строки (CLI), такие как activate env:

    Снимок экрана: успешное создание среды conda в Visual Studio.

  5. В Visual Studio можно активировать среду conda для проекта так же, как и любую другую среду. Дополнительные сведения см. в разделе о выборе окружения для проекта.

  6. Чтобы установить дополнительные пакеты в среде, перейдите на вкладку "Пакеты" в окне "Среды Python".

Примечание.

Для получения наилучших результатов в средах conda используйте conda 4.4.8 или более поздней версии. Помните, что версии conda отличаются от версий Anaconda. Вы можете установить подходящие версии Miniconda (Visual Studio 2019 и Visual Studio 2022) и Anaconda (Visual Studio 2017) с помощью Visual Studio Installer.

Чтобы просмотреть версию conda, где хранятся среды conda и другие сведения, выполните conda info команду в командной строке Anaconda (командная строка, в которой находится Анаконда):

conda info

Папки окружения conda будут выглядеть следующим образом:

       envs directories : C:\Users\user\.conda\envs
                          c:\anaconda3\envs
                          C:\Users\user\AppData\Local\conda\conda\envs

Так как среды conda не хранятся в проекте, они ведут себя аналогично глобальным средам. Например, установка нового пакета в среду conda делает этот пакет доступным для всех проектов, использующих среду.

Для Visual Studio 2017 версии 15.6 и более ранних версий можно использовать среды conda, указывая на них вручную, как описано в разделе "Вручную определить существующую среду".

Visual Studio 2017 версии 15.7 и более поздних версий обнаруживает окружения conda автоматически и отображает их в окне Окружения Python, как описано в следующем разделе.

Указание существующего окружения вручную

Чтобы определить среду, установленную в нестандартном расположении, выполните следующие действия.

  1. В окне "Среды Python" (или на панели инструментов Python) выберите "Добавить среду", чтобы открыть диалоговое окно "Добавить среду".

  2. В диалоговом окне "Добавление среды" на вкладке "Существующая среда" задайте для поля "Среда" значение <Custom>:

    Снимок экрана: вкладка

    После выбора настраиваемого <> значения в диалоговое окно добавляются дополнительные поля.

  3. Задайте для поля пути префикса путь интерпретатора. Поле можно задать, перейдя по пути (...).

    Снимок экрана: указание сведений о пользовательской среде в диалоговом окне

  4. После выбора пути остальные поля заполняются. Просмотрите значения и измените их по мере необходимости. Когда вы будете готовы, нажмите кнопку "Добавить".

Сведения об окружении можно просмотреть и изменить в любое время в окне Окружения Python.

  1. В окне "Среды Python" выберите среду и перейдите на вкладку "Настройка".

  2. После внесения изменений нажмите кнопку "Применить ".

Вы также можете удалить среду с помощью команды Remove . Дополнительные сведения см. на вкладке "Настройка". Эта команда недоступна для автоматически определенных сред.

Исправление или удаление недопустимых сред

Если Visual Studio находит записи реестра для среды, но путь к интерпретатору недопустим, в окне "Среды Python" отображается имя среды в формате шрифта забастовки, как показано на следующем рисунке:

Снимок экрана: окно

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

Изменение реестра для исправления среды

Если в среде Python нет варианта восстановления или вы хотите удалить недопустимую среду, можно выполнить следующие действия, чтобы напрямую изменить реестр. Visual Studio автоматически обновляет окно Окружения Python при внесении изменений в реестр.

  1. Запустите исполняемый regedit.exe файл, чтобы открыть редактор реестра.

  2. Перейдите в папку среды, соответствующую конфигурации:

    Python version Папка
    64-разрядная версия HKEY_LOCAL_MACHINE\SOFTWARE\Python или HKEY_CURRENT_USER\Software\Python
    32-разрядная версия HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Python
    IronPython IronPython
  3. Разверните структуру дистрибутива и узла версий для вашей среды:

    Распределение Узел
    CPython Узел версии PythonCore><>
    Anaconda Узел версии ContinuumAnalytics><>
    IronPython <Узел версии>
  4. Проверьте значения в узле InstallPath.

    Снимок экрана: записи реестра для типичной установки CPython в редакторе реестра.

    • Если среда по-прежнему существует на компьютере, измените значение записи ExecutablePath на правильное расположение. При необходимости исправьте значения для записей (Default) и WindowedExecutablePath .
    • Если среда больше не существует на компьютере и вы хотите удалить ее из окна сред Python, удалите родительский узел номера версии узла InstallPath . Пример этого узла можно увидеть на предыдущем изображении. В примере этот узел равен 3.6.

    Внимание

    Недопустимые параметры в ключе HKEY_CURRENT_USER\SOFTWARE\Python переопределяют параметры в HKEY_LOCAL_MACHINE\SOFTWARE\Python key.

Удаление или удаление среды Python

Чтобы удалить проект Python, перейдите к среде Python в Обозреватель решений. Щелкните правой кнопкой мыши среду Python, которую вы хотите удалить, и выберите пункт "Удалить".

Снимок экрана: удаление среды Python в Visual Studio.

Если вы хотите сохранить среду Python, но удалить ее из проекта, нажмите кнопку "Удалить". Если вы хотите окончательно удалить среду, нажмите кнопку "Удалить".

Снимок экрана: удаление или удаление среды Python в Visual Studio.