Поделиться через


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

Среда Python — это контекст, в котором выполняется код Python и включает глобальную, виртуальную и conda-среду. Среда состоит из интерпретатора, библиотеки (обычно стандартной библиотеки Python) и набора установленных пакетов. Эти компоненты вместе определяют допустимые конструкции языка и синтаксис, функциональные возможности операционной системы, к которым можно получить доступ, и пакеты, которые можно использовать.

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

Дополнительные сведения о других аспектах сред см. в следующих статьях:

Замечание

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

Предпосылки

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

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

Окно «Среды Python»

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

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

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

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

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

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

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

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

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

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

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

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

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

Справа от каждой указанной среды — это элемент управления, который открывает интерактивное окно для этой среды.

Замечание

В Visual Studio 2017 15.5 и более ранних версий появится другой элемент управления, который обновляет базу данных IntelliSense для этой среды. Для получения дополнительной информации о базе данных см. справочную вкладку окна Среды Python.

Подсказка

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

Снимок экрана окна развернутых сред 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), установка пакетов требует прав администратора.

Глобальные среды доступны для всех проектов на компьютере. В 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. Этот параметр совпадает с использованием Сделать эту среду средой по умолчанию для новых проектов в окне «Среды Python».
    Просмотр в окне "Среды Python" Указывает, следует ли отображать окно среды Python после создания среды.

    Это важно

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

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

  4. Нажмите кнопку "Создать".

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

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

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

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

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

  2. Чтобы установить дополнительные пакеты в среде, перейдите на вкладку "Пакеты " в окне "Среды 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 доступна в пути):

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>:

Снимок экрана, на котором показано, как задать поле

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

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

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

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

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

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

Вы также можете просматривать и изменять сведения о среде в любое время в окне "Среды Python ".

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Caution

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

Удалить или удалить среду Python

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

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

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

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

Снимок экрана, показывающий как удалить или удалить среду Python.

Скриншот, который показывает, как удалить или удалить среду Python в Visual Studio.