Как добавить питон в visual studio
Перейти к содержимому

Как добавить питон в visual studio

  • автор:

Разработка приложений на Python

screenshot of python development

Разрешите Visual Studio проанализировать ваш код и подсказать вам, какие типы и где использовать. Всплывающие подсказки, завершения и фрагменты кода, повышающие вашу производительность.

Библиотеки

Найдите и установите необходимые библиотеки

Библиотеки сторонних поставщиков — самый быстрый способ решения проблемы. Используйте наши средства Pip, PyPI и поддержку виртуальной среды для управления проектами и зависимостями.

Пакеты

Отладка

Отладка

Интерактивная диагностика проблем с кодом в Windows и Linux

Никто не в состоянии постоянно писать идеальный код, но Visual Studio может помочь в случае возникновения проблем. Визуальное пошаговое выполнение кода, просмотр или изменение состояния и взаимодействие с программой независимо от операционной системы.

Система управления версиями

Git и TFS без командной строки

Управляйте проектами Git или TFS, ожидающими изменениями и ветвями с помощью Team Explorer или используйте одно из расширений для управления исходным кодом, доступных для Visual Studio.

SourceControl

UnitTests

Модульные тесты

Проверка изменений в редакторе

Убедитесь, что код работает правильно, не выходя из Visual Studio. Просмотр, изменение, запуск и отладка модульных тестов стиля теста из окна тестирования.

Открытый код

Посетите нас на Github

Инструменты Python для Visual Studio — это совершенно бесплатное расширение, разработанное и поддерживаемое корпорацией Майкрософт с помощью сообщества. Посетите нашу страницу Github для просмотра или участия в разработке PTVS.

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

Область применения:yesVisual Studio Visual Studio для Mac noVisual Studio Code no

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

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

  • Для каждого конкретного проекта можно выбрать конкретное окружение вместо варианта по умолчанию.
  • Дополнительные сведения о создании и использовании виртуальных окружений для проектов Python см. в разделе Использование виртуальных окружений.
  • Если вы хотите установить пакеты в окружении, см. справочник по вкладке «Пакеты».
  • Чтобы установить другой интерпретатор Python, см. раздел Установка интерпретаторов Python. Как правило, если вы скачиваете и запускаете установщик для основного дистрибутива Python, Visual Studio обнаруживает эту новую установку, это окружение отображается в окне Окружения Python и может быть выбрано для проектов.

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

  • Работа с Python в Visual Studio
  • Установка средств для поддержки Python в Visual Studio

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

Окно «Окружения Python»

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

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

Screenshot of the View All Environments command in Solution Explorer-2019

Screenshot of the View All Environments command in Solution Explorer-2022

В любом случае окно Окружения Python открывается на одном уровне с Обозревателем решений:

Screenshot of Python Environments window-2019

Screenshot of Python Environments window-2022

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

При выборе окружения в списке на вкладке Обзор Visual Studio отображаются различные свойства и команды для этого окружения.

Например, как видно на рисунке выше, интерпретатор находится в папке C:\Python36-32. Четыре команды в нижней части вкладки Обзор открывают командную строку с выполняющимся интерпретатором. Дополнительные сведения см. в статье Справочная информация по вкладкам окна «Окружения Python»-2019 — обзор.

Например, на рисунке видно, что интерпретатор находится в папке C:\Program Files (x86)\Microsoft Visual Studio\Python310. Четыре команды в нижней части вкладки Обзор открывают командную строку с выполняющимся интерпретатором. Дополнительные сведения см. в статье Справочная информация по вкладкам окна «Окружения Python»-2022 — обзор.

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

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

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

Screenshot of Python Environments window expanded view-2019.

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

Screenshot of Python Environments window expanded view-2022.

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

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

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

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

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

Типы сред

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 предложит автоматически создать виртуальное окружение и установить эти зависимости.

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

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

Окружения Conda

Окружение Conda создается с помощью средства conda или интегрированного управления Conda в Visual Studio 2017 версии 15.7 и более поздних версий. (Требуется Anaconda или Miniconda, которые можно установить через Visual Studio Installer, подробнее см. в разделе Установка Visual Studio 2017.)

  1. Выберите + Добавить окружение в окне Окружения Python (или на панели инструментов Python), чтобы открыть диалоговое окно Добавление окружения.
  2. В диалоговом окне «Добавление окружения» выберите вкладку Окружение Conda: Screenshot of Conda environment tab in the Add environment dialog-2019.
  3. Задайте значения в следующих полях:
    Поле Description
    Проект Проект, в котором вы создаете окружение (если в вашем решении Visual Studio есть несколько проектов).
    Имя Имя среды Conda.
    Add packages from (Добавить пакеты из) Выберите Environment file (Файл окружения), если у вас есть файл environment.yml с описанием зависимостей, или выберите One or more Anaconda package names (Имена одного или нескольких пакетов Anaconda) и отметьте хотя бы один пакет Python или версию Python в поле ниже. Этот список пакетов передает Conda задание на создание окружения Python. Чтобы установить последнюю версию Python, используйте python . Чтобы установить определенную версию, используйте python=,major>. , как показано в python=3.7 . Кнопка пакета позволяет выбрать версии Python и общие пакеты из нескольких меню.
    Set as current environment (Установить в качестве текущего окружения) После создания окружения активирует его в выбранном проекте.
    Set as default environment for new projects (Установить в качестве окружения по умолчанию для новых проектов) Автоматически устанавливает среду Conda и активирует ее во всех новых проектах, которые создаются в Visual Studio. Этот параметр эквивалентен параметру Make this the default environment for new projects (Назначить это окружение по умолчанию для новых проектов) в окне Окружения Python.
    View in Python Environments window (Просмотреть в окне окружений Python) Указывает, нужно ли отобразить окно Окружения Python после создания окружения.

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

Screenshot after successful creation of a conda environment-2019.

  • Выберите Создать и отслеживайте ход выполнения в окне вывода. Выходные данные после завершения создания возвращают несколько инструкций CLI:
  • В Visual Studio можно активировать окружение conda для проекта так же, как любое другое окружение, как описано в статье Выбор окружения для проекта.
  • Установить дополнительные пакеты в окружении можно на вкладке Пакеты.
    1. Выберите + Добавить окружение в окне Окружения Python (или на панели инструментов Python), чтобы открыть диалоговое окно Добавление окружения.
    2. В диалоговом окне «Добавление окружения» выберите вкладку Окружение Conda: Screenshot of Conda environment tab in the Add environment dialog-2022.
    3. Задайте значения в следующих полях:
      Поле Description
      Проект Проект, в котором вы создаете окружение (если в вашем решении Visual Studio есть несколько проектов).
      Имя Имя среды Conda.
      Add packages from (Добавить пакеты из) Выберите Environment file (Файл окружения), если у вас есть файл environment.yml с описанием зависимостей, или выберите One or more Anaconda package names (Имена одного или нескольких пакетов Anaconda) и отметьте хотя бы один пакет Python или версию Python в поле ниже. Этот список пакетов передает Conda задание на создание окружения Python. Чтобы установить последнюю версию Python, используйте python . Чтобы установить определенную версию, используйте python=,major>. , как показано в python=3.7 . Кнопка пакета позволяет выбрать версии Python и общие пакеты из нескольких меню.
      Set as current environment (Установить в качестве текущего окружения) После создания окружения активирует его в выбранном проекте.
      Set as default environment for new projects (Установить в качестве окружения по умолчанию для новых проектов) Автоматически устанавливает среду Conda и активирует ее во всех новых проектах, которые создаются в Visual Studio. Этот параметр эквивалентен параметру Make this the default environment for new projects (Назначить это окружение по умолчанию для новых проектов) в окне Окружения Python.
      View in Python Environments window (Просмотреть в окне окружений Python) Указывает, нужно ли отобразить окно Окружения Python после создания окружения.

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

    Screenshot after a successful creation of a conda environment-2022.

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

    Чтобы просмотреть версию conda, в которой хранятся окружения conda, и другие сведения, запустите conda info в командной строке Anaconda (то есть в командной строке, в пути которой указана 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. В диалоговом окне «Добавление окружения» выберите вкладку Существующее окружение: Screenshot of existing environment tab in the Add environment dialog-2019.
    3. Щелкните раскрывающийся список Окружение и выберите Пользовательское: Screenshot of custom environment option in the Add environment dialog-2019.
    4. В предоставленных полях в диалоговом окне введите путь к интерпретатору (Prefix path) или найдите его с помощью кнопки . , и большинство других полей заполнятся автоматически.
    5. Просмотрите предложенные значения и измените их при необходимости, а затем щелкните Добавить. Screenshot of fields to specify details for a custom environment option in the Add environment dialog0-2019.

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

    1. Выберите в этом окне нужное окружение Python и перейдите на вкладку Настройка.
    2. Внеся изменения, выберите команду Применить. Вы также можете удалить окружение с помощью команды Удалить (недоступно для автоматически обнаруженных окружений). Дополнительные сведения см. в описании вкладки «Настройка».
    1. Выберите + Добавить окружение в окне Окружения Python (или на панели инструментов Python), чтобы открыть диалоговое окно Добавление окружения.
    2. В диалоговом окне «Добавление окружения» выберите вкладку Существующее окружение: Screenshot of existing environment tab in the Add environment dialog-2022.Например, выберите существующее окружение и путь к существующему окружению.
    3. Щелкните раскрывающийся список Окружение и выберите Пользовательское: Screenshot of custom environment option in the Add environment dialog-2022.Например, Anaconda 2021.05 в C:\Users\user\Anaconda3\python.exe
    4. В предоставленных полях в диалоговом окне введите путь к интерпретатору (Prefix path) или найдите его с помощью кнопки . , и большинство других полей заполнятся автоматически.
    5. Просмотрите предложенные значения и измените их при необходимости, а затем щелкните Добавить. Screenshot of fields to specify details for a custom environment option in the Add environment dialog-2022.

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

    1. Выберите в этом окне нужное окружение Python и перейдите на вкладку Настройка.
    2. Внеся изменения, выберите команду Применить. Вы также можете удалить окружение с помощью команды Удалить (недоступно для автоматически обнаруженных окружений). Дополнительные сведения см. в описании вкладки «Настройка».

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

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

    Screenshot of the Python Environments window showing an invalid environment-2019-2022.

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

    Измените реестр, чтобы исправить окружение, у которого нет возможности исправления, или удалить недопустимое окружение.

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

    Screenshot of registry entries for a typical CPython installation.

    1. Запустите файл regedit.exe.
    2. Перейдите к разделу HKEY_LOCAL_MACHINE\SOFTWARE\Python или HKEY_CURRENT_USER\SOFTWARE\Python. Для 32-разрядных версий Python раздел реестра может быть в разделе HKEY_LOCAL_MACHINE\Software\Wow6432Node\Python. Если используется IronPython, вместо этого ищите IronPython.
    3. Разверните узел, соответствующий дистрибутиву, например Python Core для CPython или ContinuumAnalytics для Anaconda. Если используется IronPython, разверните узел номера версии.
    4. Проверьте значения в узле InstallPath.
      • Если среда по-прежнему существует на компьютере, измените значение ExecutablePath на правильное расположение. Также исправьте значения (Default) и WindowedExecutablePath требуемым образом.
      • Если среда больше не существует на компьютере и вы хотите удалить ее из окна Окружения Python, удалите родительский узел InstallPath, например 3.6 на приведенном выше рисунке.
      • Недопустимые параметры в HKEY_CURRENT_USER\SOFTWARE\Python переопределяют параметры в HKEY_LOCAL_MACHINE\SOFTWARE\Python.

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

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

    Screenshot of right-click Remove Python environment.

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

    Screenshot of delete or remove Python environment pop-up.

    См. также

    • Установка интерпретаторов Python
    • Выбор интерпретатора для проекта
    • Использование файла requirements.txt для зависимостей
    • Пути поиска
    • Справочная информация по окну «Окружения Python»

    Определение пользовательских команд для проектов Python

    Область применения:yesVisual Studio Visual Studio для Mac noVisual Studio Code no

    В процессе работы с проектами Python можно переключиться в командное окно для выполнения определенных скриптов или модулей, выполнения команд pip или выполнения других произвольных инструментов. Чтобы улучшить рабочий процесс, можно добавить пользовательские команды в подменю Python внутри контекстного меню проекта Python. Эти команды можно выполнять в окне консоли или в окне вывода Visual Studio. Кроме того, вы можете использовать регулярные выражения, чтобы сообщить Visual Studio, как анализировать ошибки и предупреждения из выходных данных команды.

    По умолчанию это меню содержит только команды Run PyLint и Run Mypy :

    Default appearance of the Python submenu on a project

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

    Некоторые шаблоны проектов Python в Visual Studio уже добавляют собственные команды посредством своего файла TARGETS. Например, шаблоны «Веб-проект Bottle» и «Веб-проект Flask» добавляют две команды — Запуск сервера и Запустить сервер отладки. Шаблон «Веб-проект Django» добавляет как эти две команды, так и многие другие:

    Appearance of the Python submenu on a Django project

    Каждая пользовательская команда может ссылаться на файл Python, модуль Python, встроенный код Python, произвольный исполняемый файл или команду pip. Вы можете указать, как и где выполняется команда.

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

    Как известно, Visual Studio предоставляет средства для непосредственного редактирования файла проекта. Сначала щелкните файл проекта правой кнопкой мыши и выберите «Выгрузить проект», а затем снова щелкните правой кнопкой мыши и выберите «Изменить файл проекта«, чтобы открыть проект в редакторе Visual Studio. После этого внесите и сохраните изменения, еще раз щелкните проект правой кнопкой мыши и выберите Перезагрузить проект, после чего вам будет предложено подтвердить закрытие файла проекта в редакторе.

    Однако при разработке пользовательской команды эти действия могут утомлять пользователя. Чтобы повысить эффективность работы, загрузите проект в Visual Studio и параллельно откройте файл PYPROJ в отдельном редакторе (например, в другом экземпляре Visual Studio, Visual Studio Code, Блокноте и т. д.). Когда вы сохраняете изменения в редакторе и переключаетесь в Visual Studio, Visual Studio обнаруживает изменения и предлагает перезагрузить проект (Проект был изменен вне среды.). Выберите Перезагрузить, чтобы сразу же применить внесенные изменения за одно действие.

    Пошаговое руководство. Добавление команды в файл проекта

    Для ознакомления с пользовательскими командами в этом разделе рассматривается простой пример, в котором файл запуска проекта выполняется напрямую с помощью python.exe. (Такая команда фактически аналогична использованию команды Отладка>Запуск без отладки.)

    1. Создайте проект с именем Python-CustomCommands, используя шаблон Приложение Python. (Если вы еще не знакомы с этой процедурой, см. инструкции в статье Краткое руководство. Создание проекта Python из шаблона.)
    2. В Python_CustomCommands.py добавьте код print(«Hello custom commands») .
    3. Щелкните правой кнопкой мыши проект в Обозреватель решений, выберите Python и обратите внимание на то, что в подменю отображаются только команды Run PyLint и Run Mypy. В этом же подменю отображаются и ваши пользовательские команды.
    4. Откройте Python-CustomCommands.pyproj в отдельном текстовом редакторе, как описано во введении. Добавьте следующие строки в конец файла внутри прямо перед закрывающим и сохраните файл.

      $(PythonCommands);  
      $(PythonCommands); Example_RunStartupFile 

    Чтобы команда отображалась перед командами, заданными в $(PythonCommands) , расположите их перед этим токеном.

  • Сохраните файл проекта, перейдите в Visual Studio и перезагрузите проект при появлении запроса. Затем щелкните проект Python-CustomCommands правой кнопкой мыши и выберите пункт Python. В меню вы увидите элемент Run startup file (Выполнить файл запуска). Если такой элемент в меню отсутствует, убедитесь, что вы добавили это имя в элемент . См. также раздел Устранение неполадок далее в этой статье. Custom command appearing on the Python context submenu
  • Выберите команду Выполнить файл запуска, чтобы отобразить командное окно с текстом Hello custom commands (Знакомство с пользовательскими командами) и запросом Press any key to continue (Для продолжения нажмите любую клавишу). Нажмите любую клавишу, чтобы закрыть окно. Custom command output in a console window

    Примечание. Активируемая среда для проекта — это среда, в которой будет выполняться скрипт.

    Custom command output in the output window

  • Вернитесь в редактор с файлом проекта и измените значение атрибута ExecuteIn на output . Сохраните файл, перейдите в Visual Studio, перезагрузите проект и вызовите эту команду снова. На этот раз выходные данные программы отображаются в окне Вывод Visual Studio:
  • Чтобы добавить дополнительные команды, определите для каждой из них подходящий элемент , добавьте имя целевого объекта в группу свойств и перезагрузите проект в Visual Studio.
  • Если вызвать команду, использующую свойства проекта, например ($StartupFile) , которая завершается с ошибкой из-за неопределенного токена, Visual Studio отключает эту команду до перезагрузки проекта. Однако внесение в проект изменений, определяющих это свойство, не обновляет состояние этих команд, поэтому в подобных ситуациях все равно нужно перезагрузить проект.

    Структура целевого объекта команды

    Общая форма элемента показана в следующем псевдокоде:

    Чтобы сослаться на свойства проекта или переменные среды в значениях атрибутов, используйте имя в токене $() , например $(StartupFile) и $(MSBuildProjectDirectory) . Дополнительные сведения см. в разделе Свойства MSBuild.

    Атрибуты Target

    Атрибут Обязательное поле Description
    Полное имя Да Идентификатор для команды в проекте Visual Studio. Это имя нужно добавить в группу свойств , чтобы команда появилась в подменю Python.
    Метка Да Отображаемое имя пользовательского интерфейса, отображаемое в подменю Python.
    Возвраты Да Должен содержать @(Commands) , который идентифицирует целевой объект как команду.

    Атрибуты CreatePythonCommandItem

    Все значения атрибутов указываются без учета регистра.

    • executable: запуск исполняемого файла с именем, указанным в Target, с добавлением значения в Arguments, как при вводе непосредственно в командной строке. Это значение должно содержать только имя программы без аргументов.
    • script: запуск python.exe с именем файла в Target, после которого идет значение в Arguments.
    • module: запуск python -m , после которого идет имя модуля в Target и значение в Arguments.
    • code: запуск встроенного кода, содержащегося в Target. Значение Arguments игнорируется.
    • PIP: запуск pip с командой в Target, после которого идет Arguments; для ExecuteIn задано значение output, однако pip предполагает команду install и использует Target в качестве имени пакета.
    • console. Запускает Target и аргументы, как при вводе непосредственно в командной строке (по умолчанию). Командное окно отображается при выполнении Target, а затем автоматически закрывается.
    • consolepause: то же, что и console, но с ожиданием нажатия клавиши перед закрытием окна.
    • output: запускает Target и отображает результаты в окне вывода Visual Studio. Если TargetType имеет значение pip, Visual Studio использует Target в качестве имени пакета и добавляет Arguments.
    • repl: запускает Target в интерактивном окне Python; для заголовка окна используется необязательное отображаемое имя.
    • none: аналогичен console.
    Именованные группы записи для регулярных выражений

    При анализе ошибки и предупреждений из выходных данных команды Visual Studio ожидает, что регулярные выражения в значениях ErrorRegex и WarningRegex используют следующие именованные группы:

    • (?. ) : текст ошибки.
    • (?. ) Код ошибки:
    • (?. ) : имя файла, для которого возникла ошибка.
    • (?. ) : номер строки в файле, где произошла ошибка.
    • (?. ) : номер столбца в файле, где произошла ошибка.

    Например, PyLint выводит предупреждения в следующем виде:

    ************* Module hello C: 1, 0: Missing module docstring (missing-docstring) 

    Чтобы разрешить Visual Studio извлечь правильную информацию из таких предупреждений и отобразить их в окне Список ошибок, значение WarningRegex для команды Выполнить PyLint имеет следующий вид:

    ^(?.+?)\((?\d+),(?\d+)\): warning (?.+?): (?.+?)$]] 

    (Обратите внимание, что msg_id в значении должно быть code , см. описание запроса 3680.)

    Создание TARGETS-файлов с пользовательскими командами

    Пользовательские команды, определенные в файле проекта, доступны только этому файлу. Чтобы использовать команды в нескольких файлах проектов, следует определить группу свойств и все ваши элементы в файле TARGETS. Затем этот файл можно импортировать в отдельные файлы проектов.

    Файл TARGETS имеет следующий формат:

       $(PythonCommands); 

    Чтобы загрузить файл TARGETS в проект, расположите элемент в любом месте внутри элемента . Например, если у вас есть файл с именем CustomCommands.targets во вложенной папке targets в проекте, используйте следующий код:

    При каждом изменении файла TARGETS нужно перезагружать решение, содержащее этот проект, а не только сам проект.

    Примеры команд

    Выполнение PyLint (целевой объект модуля)

    В файле Microsoft.PythonTools.targets отображается следующий код:

     $(PythonCommands);PythonRunPyLintCommand .+?)\((?\d+),(?\d+)\): warning (?.+?): (?.+?)$]]>     

    Запуск pip install с определенным пакетом (целевой объект pip)

    Следующая команда запускает pip install my-package в окне вывода. Эту команду можно использовать при разработке пакета и тестировании его установки. Обратите внимание, что Target содержит имя пакета, а не команду install , которая предполагается при использовании ExecuteIn=»output» .

     $(PythonCommands);InstallMyPackage      

    Отображение устаревших пакетов pip (целевой объект pip)

     $(PythonCommands);ShowOutdatedPackages      

    Запуск исполняемого файла с consolepause

    Следующая команда просто запускает where для отображения файлов Python, начиная с папки проекта:

     $(PythonCommands);ShowAllPythonFilesInProject      

    Выполнение команд запуска сервера и сервера отладки

    Чтобы узнать, как определены команды Запуск сервера и Запустить сервер отладки для веб-проектов, см. Microsoft.PythonTools.Web.targets (GitHub).

    Установка пакета для разработки

     PipInstallDevCommand;$(PythonCommands);      

    Из файла fxthomas/Example.pyproj.xml (GitHub), используемого с разрешениями.

    Создание установщика Windows

     $(PythonCommands);BdistWinInstCommand;      

    Из файла fxthomas/Example.pyproj.xml (GitHub), используемого с разрешениями.

    Создание пакета wheel

     $(PythonCommands);BdistWheelCommand;      

    Из файла fxthomas/Example.pyproj.xml (GitHub), используемого с разрешениями.

    Устранение неполадок

    Сообщение: «Не удалось загрузить файл проекта»

    Указывает на наличие синтаксических ошибок в файле проекта. Это сообщение содержит конкретную ошибку с номером строки и позицией символа.

    Окно консоли закрывается сразу после выполнения команды

    Используйте ExecuteIn=»consolepause» вместо ExecuteIn=»console» .

    Команда не отображается в меню

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

    Например, в следующих элементах имя Example в группе свойств не соответствует имени ExampleCommand в целевом объекте. Visual Studio не может найти команду с именем Example, поэтому команда не отображается. Используйте ExampleCommand в списке команд или измените имя целевого объекта на Example.

      $(PythonCommands);Example  

    Сообщение: «Произошла ошибка при выполнении . Не удалось получить команду из проекта».

    Указывает, что содержимое элементов или неправильно. Возможные причины:

    • Обязательный атрибут Target пуст.
    • Обязательный атрибут TargetType пуст или содержит неопознанное значение.
    • Обязательный атрибут ExecuteIn пуст или содержит неопознанное значение.
    • ErrorRegex или WarningRegex указан без задания ExecuteIn=»output» .
    • В элементе присутствуют неопознанные атрибуты. Например, вместо нее Arguments можно использовать Argumnets (неправильно) .

    Значения атрибутов могут быть пустыми, если вы ссылаетесь на свойство, которое не было определено. Например, если вы используете токен $(StartupFile) , но в проекте не задан файл запуска, этот токен разрешается в пустую строку. В таких случаях может потребоваться определить значение по умолчанию. Например, команды Запуск сервера и Запустить сервер отладки, определенные в шаблонах проектов Bottle, Flask и Django, по умолчанию используют manage.py, если вы иным образом не указали файл запуска сервера в свойствах проекта.

    Visual Studio перестает отвечать и аварийно завершает работу при выполнении команды

    Скорее всего, вы пытаетесь запустить консольную команду с ExecuteIn=»output» помощью Visual Studio, в этом случае Visual Studio может завершиться сбоем, пытаясь проанализировать выходные данные. Вместо этого используйте ExecuteIn=»console» . (См. описание запроса 3682.)

    Исполняемая команда «не является внутренней или внешней командой, работающей программой или пакетным файлом»

    При использовании TargetType=»executable» значение в Target должно содержать только имя программы без аргументов, например только python или python.exe. Переместите все аргументы в атрибут Arguments .

    VS + Python + кириллица, ошибка в консоли, как решить?

    Всем привет!
    Ради интереса поставил Python 3.5.1 -(решил посмотреть что это за язык, много слышал про него)
    Так вот, когда выводишь программу в консоли у меня возникает ошибка, как я понял из-за русского языка и из-за кодировки. Когда пишешь на инглише все норм — конечно можно писать все на нем! и забить на проблему. Но, все-таки мы же русские ) и хочется сообщения писать на своем родном языке.
    Погуглил данную тему, у многих людей на многих языках программирования возникает проблема именно из-за русских букв, все решают данную проблему по разному.

    ccfa8746d7a742d1bf77066a09875e07.jpg

    Господа! вопрос как решить мою проблему ?
    Спасибо.

    • Вопрос задан более трёх лет назад
    • 47398 просмотров

    Комментировать
    Решения вопроса 0
    Ответы на вопрос 6
    Musgem @Musgem Автор вопроса

    Что удалось нарыть.
    А.
    если поставить в начале кода такую конструкцию:
    # -*- coding: cp1251 -*-
    То начинает все работать, как я понял это принудительное перекодирование файла — (буду благодарен если точнее объясните господа)

    Б.
    (как я понял)
    Файл нужно создавать в нужной кодировке utf8
    По умолчанию Visual Studio создает файлы в другой кодировки, надо понять где это поменять / проверить / потестить.

    Да, все верно! в Visual Studio идем Файл — Дополнительные параметры сохранения
    и ставим так(скрин) все начинает работать..
    358d87fdaff645d1b289cdadb3266239.jpg8bf2e7537e0e4572aedcc5395f625dd5.jpg

    67110686d7914ba5ac982a8e4d684502.jpg

    Но это не спасает от такой записи. (скрин) вопрос остается что делать ?

    34d1f4ac38fd47888e93d3d57f4cd19f.jpg

    Ради теста, напрямую запустил консоль python — а ввел там нужную команду все норм отобразилось!
    Да что не так с этой чертовой VS ?

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *