Работа с Python в Visual Studio под управлением WindowsWork with Python in Visual Studio on Windows

Python — это популярный язык программирования, который отличается надежностью, гибкостью и простотой освоения. Его можно бесплатно использовать на любых операционных системах, и он поддерживается широким сообществом разработчиков. Кроме того, для него доступно множество бесплатных библиотек.Python is a popular programming language that is reliable, flexible, easy to learn, free to use on all operating systems, and supported by both a strong developer community and many free libraries. Python поддерживает все способы разработки, включая веб-приложения, веб-службы, компьютерные программы, скрипты и научные вычисления. Его используют многие университеты, ученые, профессиональные и непрофессиональные разработчики.Python supports all manners of development, including web applications, web services, desktop apps, scripting, and scientific computing, and is used by many universities, scientists, casual developers, and professional developers alike. Больше узнать об этом языке вы можете на сайте python.org или в руководстве Python для начинающих.You can learn more about the language on python.org and Python for Beginners.

Visual Studio является мощной интегрированной средой разработки (IDE) на языке Python для Windows.Visual Studio is a powerful Python IDE on Windows. Visual Studio предоставляет средства с открытым кодом для поддержки языка Python, в том числе рабочие нагрузки разработки Python и обработки и анализа данных (в Visual Studio 2017 и более поздних версиях), а также бесплатное расширение "Инструменты Python для Visual Studio" (в Visual Studio 2015 и более ранних версиях).Visual Studio provides open-source support for the Python language through the Python Development and Data Science workloads (Visual Studio 2017 and later) and the free Python Tools for Visual Studio extension (Visual Studio 2015 and earlier).

Сейчас Python не поддерживается в Visual Studio для Mac, но доступен в Mac и Linux при использовании Visual Studio Code (см. вопросы и ответы.Python is not presently supported in Visual Studio for Mac, but is available on Mac and Linux through Visual Studio Code (see questions and answers).

Чтобы приступить к работе, выполните указанные ниже действия.To get started:

  • Следуйте инструкциям по установке, чтобы настроить рабочую нагрузку Python.Follow the installation instructions to set up the Python workload.
  • Эта статья познакомит вас с возможностями Python в Visual Studio.Familiarize yourself with the Python capabilities of Visual Studio through the sections in this article.

Примечание

Visual Studio поддерживает Python версии 2.7, а также с 3.5 по 3.7.Visual Studio supports Python version 2.7, as well as version 3.5 through 3.7. Visual Studio можно использовать для редактирования кода, написанного на языке Python других версий, но эти версии официально не поддерживаются, а функции, такие как IntelliSense и отладка, могут не работать.While it is possible to use Visual Studio to edit code written in other versions of Python, those versions are not officially supported and features such as IntelliSense and debugging might not work. Поддержка Python версии 3.8 по-прежнему находится на стадии разработки. Конкретные сведения о поддержке см. в этой задаче на сайте GitHub.Python version 3.8 support is still under development, specific details about support can be seen in this tracking issue on GitHub.

Поддержка нескольких интерпретаторовSupport for multiple interpreters

Окружения Python в Visual Studio (изображены ниже в широком развернутом окне) позволяют единообразно управлять всеми глобальными окружениями Python, окружениями Conda и виртуальными средами.Visual Studio's Python Environments window (shown below in a wide, expanded view) gives you a single place to manage all of your global Python environments, conda environments, and virtual environments. Visual Studio автоматически обнаруживает установки Python в стандартных расположениях, а также позволяет настраивать нестандартные варианты установки.Visual Studio automatically detects installations of Python in standard locations, and allows you to configure custom installations. В каждом окружении можно легко управлять пакетами, открывать интерактивное окно этого окружения и получать доступ к папкам окружения.With each environment, you can easily manage packages, open an interactive window for that environment, and access environment folders.

Развернутое окно "Окружения Python"

Развернутое окно "Окружения Python"

Используйте команду Открыть интерактивное окно, чтобы запустить Python в интерактивном режиме в контексте Visual Studio.Use the Open interactive window command to run Python interactively within the context of Visual Studio. Используйте команду Открыть в PowerShell, чтобы открыть отдельное окно команд в папке выбранной среды.Use the Open in PowerShell command to open a separate command window in the folder of the selected environment. Из этого окна команд можно выполнить любой скрипт Python.From that command window you can run any python script.

Дополнительные сведения:For more information:

Многофункциональное редактирование, IntelliSense и понимание кодаRich editing, IntelliSense, and code comprehension

Visual Studio предоставляет первоклассный редактор Python, включающий цветовую разметку синтаксиса, автозаполнение во всем коде и библиотеках, форматирование кода, справку по сигнатурам, рефакторинг, анализ кода на наличие потенциальных ошибок и подсказки по типам.Visual Studio provides a first-class Python editor, including syntax coloring, auto-complete across all your code and libraries, code formatting, signature help, refactoring, linting, and type hints. Visual Studio также предоставляет уникальные функции, такие как представление классов, переход к определению, поиск всех ссылок и фрагменты кода.Visual Studio also provides unique features like class view, Go to Definition, Find All References, and code snippets. Непосредственная интеграция с интерактивным окном помогает быстро разрабатывать код на Python, сразу сохраняя его в файле.Direct integration with the Interactive window helps you quickly develop Python code that's already saved in a file.

Завершение кода для Python в Visual Studio

Дополнительные сведения:For more information:

Интерактивное окноInteractive window

Для каждого окружения Python, с которым умеет работать Visual Studio, можно открыть его интерактивное окружение (REPL) для интерпретатора Python непосредственно в Visual Studio без открытия отдельного окна командной строки.For every Python environment known to Visual Studio, you can easily open the same interactive (REPL) environment for a Python interpreter directly within Visual Studio, rather than using a separate command prompt. Также можно легко переключаться между окружениями.You can easily switch between environments as well. (Чтобы открыть отдельную командную строку, выберите нужную среду в окне Окружения Python, затем команду Открыть в PowerShell, как описано ранее в разделе Поддержка нескольких интерпретаторов.)(To open a separate command prompt, select your desired environment in the Python Environments window, then select the Open in PowerShell command as explained earlier under Support for multiple interpreters.)

Интерактивное окно Python в Visual Studio

Кроме того, Visual Studio обеспечивает тесную интеграцию между редактором кода Python и интерактивным окном.Visual Studio also provides tight integration between the Python code editor and the Interactive window. Сочетанием клавиш CTRL+ВВОД можно легко отправить текущую строку кода (или блок кода) из редактора в интерактивное окно и перейти к следующей строке (или блоку).The Ctrl+Enter keyboard shortcut conveniently sends the current line of code (or code block) in the editor to the Interactive window, then moves to the next line (or block). Сочетание клавиш CTRL+ВВОД позволяет легко использовать пошаговое выполнение кода без запуска отладчика.Ctrl+Enter lets you easily step through code without having to run the debugger. Этим же сочетанием клавиш можно отправить выделенный код в интерактивное окно или вставить код из интерактивного окна в редактор.You can also send selected code to the Interactive window with the same keystroke, and easily paste code from the Interactive window into the editor. Вместе эти возможности позволяют работать с сегментами кода в интерактивном окне и легко сохранять результаты в файл, открытый в редакторе.Together, these capabilities allow you to work out details for a segment of code in the Interactive window and easily save the results in a file in the editor.

Visual Studio также поддерживает IPython и Jupyter в цикле REPL, включая встроенные диаграммы, .NET и Windows Presentation Foundation (WPF).Visual Studio also supports IPython/Jupyter in the REPL, including inline plots, .NET, and Windows Presentation Foundation (WPF).

Дополнительные сведения:For more information:

Система проектов и шаблоны проектов и элементовProject system, and project and item templates

Примечание

В Visual Studio 2019 можно открыть папку с кодом Python и выполнить этот код, не создавая проект Visual Studio и файлы решения.Visual Studio 2019 supports opening a folder containing Python code and running that code without creating Visual Studio project and solution files. Дополнительные сведения см. в разделе Краткое руководство. Открытие и выполнение кода Python в папке.For more information, see Quickstart: Open and run Python code in a folder. Но файл проекта имеет ряд важных преимуществ, которые мы описали в этой статье.There are, however, benefits to using a project file, as explained in this section.

Visual Studio позволяет управлять постоянно возрастающей сложностью проекта.Visual Studio helps you manage the complexity of a project as it grows over time. Проект Visual Studio — это не просто структура папок. Он включает сведения о том, как используются различные файлы и как они связаны друг с другом.A Visual Studio project is much more than a folder structure: it includes an understanding of how different files are used and how they relate to each other. Visual Studio помогает распознавать код приложения, тестовый код, веб-страницы, JavaScript, скрипты сборки и т. д., что позволяет затем использовать возможности, специфичные для каждого типа файла.Visual Studio helps you distinguish app code, test code, web pages, JavaScript, build scripts, and so on, which then enable file-appropriate features. Кроме того, решение Visual Studio помогает управлять несколькими связанными проектами, например проектом Python и проектом расширения C++.A Visual Studio solution, moreover, helps you manage multiple related projects, such as a Python project and a C++ extension project.

Решение Visual Studio содержит оба проекта — Python и C++

Шаблоны проектов и элементов автоматизируют процесс настройки различных типов проектов и файлов, экономя драгоценное время и освобождая разработчика от сложных рутинных операций, в ходе которых легко допустить ошибку.Project and item templates automate the process of setting up different types of projects and files, saving you valuable time and relieving you from managing intricate and error-prone details. Visual Studio предоставляет шаблоны для веб-проектов, Azure, обработки и анализа данных, консольных и других типов проектов, наряду с шаблонами для файлов, таких как классы Python, модульные тесты, веб-конфигурации Azure, HTML и даже приложения Django.Visual Studio provides templates for web, Azure, data science, console, and other types of projects, along with templates for files like Python classes, unit tests, Azure web configuration, HTML, and even Django apps.

Проект Python и шаблоны элементов в Visual StudioPython project and item templates in Visual Studio

Дополнительные сведения:For more information:

Одним из основных преимуществ Visual Studio является его мощный отладчик.One of Visual Studio's strengths is its powerful debugger. В частности, для Python среда Visual Studio поддерживает отладку в смешанном режиме на Python и C++, удаленную отладку в Linux, отладку в интерактивном окне и отладку модульных тестов Python.For Python in particular, Visual Studio includes Python/C++ mixed-mode debugging, remote debugging on Linux, debugging within the Interactive window, and debugging Python unit tests.

Всплывающее окно с исключением в отладчике Visual Studio для Python

В Visual Studio 2019 вы можете выполнить запуск и отладку кода без файла проекта Visual Studio.In Visual Studio 2019, you can run and debug code without having a Visual Studio project file. Пример см. в статье Quickstart: Open and run Python code in a folder (Краткое руководство. Открытие и выполнение кода Python в папке).See Quickstart: Open and run Python code in a folder for an example.

Дополнительные сведения:For more information:

Средства профилирования с широким набором отчетовProfiling tools with comprehensive reporting

Профилирование позволяет узнать, как расходуется время в приложении.Profiling explores how time is being spent within your application. Visual Studio поддерживает профилирование с помощью интерпретаторов на основе CPython и включает сравнение производительности при различных запусках профилирования.Visual Studio supports profiling with CPython-based interpreters and includes the ability to compare performance between different profiling runs.

Результаты профилирования проекта Python в Visual StudioVisual Studio profiler results for a Python project

Дополнительные сведения:For more information:

Средства модульного тестированияUnit testing tools

Обнаружение, выполнение и управление тестами в обозревателе тестов Visual Studio, а также легкая отладка модульных тестов.Discover, run, and manage tests in Visual Studio Test Explorer, and easily debug unit tests.

Отладка модульного теста Python в Visual Studio

Дополнительные сведения:For more information:

Пакет Azure SDK для PythonAzure SDK for Python

Библиотеки Azure для Python упрощают использование служб Azure в приложениях для Windows, Mac OS X и Linux.The Azure libraries for Python simplify consuming Azure services from Windows, Mac OS X, and Linux apps. Их можно использовать для создания ресурсов Azure и управления ими, а также для подключения к службам Azure.You can use them to create and manage Azure resources, as well as to connect to Azure services.

Дополнительные сведения см. в статьях Пакет Azure SDK для Python и Библиотеки Azure для Python.For more information, see Azure SDK for Python and Azure libraries for Python .

Вопросы и ответыQuestions and answers

В. Доступна ли поддержка Python в Visual Studio для Mac?Q. Is Python support available with Visual Studio for Mac?

О.A. На данный момент нет, но вы можете проголосовать за эту возможность на сайте сообщества разработчиков.Not at this time, but you can up vote the request on Developer Community. В документации по Visual Studio для Mac указаны поддерживаемые сейчас типы разработки.The Visual Studio for Mac documentation identifies the current types of development that it does support. А пока нормальная работа с Python за счет доступных расширений обеспечивается Visual Studio Code в Windows, Mac и Linux.In the meantime, Visual Studio Code on Windows, Mac, and Linux works well with Python through available extensions.

В. Что можно использовать для создания пользовательского интерфейса с помощью Python?Q. What can I use to build UI with Python?

О.A. Основным предложением в этом направлении является Qt Project с привязками для Python, известного как PySide (официальная привязка) (см. также файлы для скачивания PySide), и PyQt.The main offering in this area is the Qt Project, with bindings for Python known as PySide (the official binding) (also see PySide downloads) and PyQt. В настоящее время поддержки Python в Visual Studio не включает какие-либо конкретные средства для разработки пользовательского интерфейса.At present, Python support in Visual Studio does not include any specific tools for UI development.

В. Может ли проект Python сформировать отдельный исполняемый файл?Q. Can a Python project produce a stand-alone executable?

О.A. Python является интерпретируемым языком, и выполнение его кода осуществляется по требованию в подходящем окружении с поддержкой Python, таком как Visual Studio и веб-серверы.Python is generally an interpreted language, with which code is run on demand in a suitable Python-capable environment such as Visual Studio and web servers. Сейчас Visual Studio не предоставляет инструменты и возможности для создания отдельного исполняемого файла, который, по сути, представляет собой программу с внедренным интерпретатором Python.Visual Studio itself does not at present provide the means to create a stand-alone executable, which essentially means a program with an embedded Python interpreter. Сообществом Python предоставлены различные средства, позволяющие создать исполняемые файлы, как описано на сайте StackOverflow.However, the Python community supplied different means to create executables as described on StackOverflow. CPython также можно внедрять в приложение машинного кода. Об этом можно узнать в записи блога Using CPython's Embeddable Zip File (Использование внедряемого ZIP-файла CPython).CPython also supports being embedded within a native application, as described on the blog post, Using CPython's embeddable zip file.

Поддержка компонентовFeature support

Функции Python можно установить в следующих выпусках Visual Studio, как описано в руководстве по установке:Python features can be installed in the following editions of Visual Studio as described in the installation guide:

  • Visual Studio 2019 (все выпуски);Visual Studio 2019 (all editions)
  • Visual Studio 2017 (все выпуски);Visual Studio 2017 (all editions)
  • Visual Studio 2015 (все выпуски)Visual Studio 2015 (all editions)
  • Visual Studio 2013 CommunityVisual Studio 2013 Community Edition
  • Visual Studio 2013 Express для Web, с обновлением 2 или более поздней версииVisual Studio 2013 Express for Web, Update 2 or higher
  • Visual Studio 2013 Express для Desktop с обновлением 2 или более поздней версииVisual Studio 2013 Express for Desktop, Update 2 or higher
  • Visual Studio 2013 (версии Pro или более высокой версии)Visual Studio 2013 (Pro edition or higher)
  • Visual Studio 2012 (версии Pro или более высокой версии)Visual Studio 2012 (Pro edition or higher)
  • Visual Studio 2010 с пакетом обновления 1 (версии Pro или более высокой версии; требуется .NET 4.5)Visual Studio 2010 SP1 (Pro edition or higher; .NET 4.5 required)

Visual Studio 2015 и более ранние версии доступны на странице visualstudio.microsoft.com/vs/older-downloads/.Visual Studio 2015 and earlier are available at visualstudio.microsoft.com/vs/older-downloads/.

Важно!

Функции полностью поддерживаются только в последней версии Visual Studio.Features are fully supported and maintained for only the latest version of Visual Studio. Они доступны и в предыдущих версиях, но поддерживаются не полностью.Features are available in older versions but are not actively maintained.

Поддержка PythonPython support 2017+2017+ 20152015 2013 Comm2013 Comm 2013 для настольных систем2013 Desktop 2013 Web2013 Web 2013 Pro+2013 Pro+ 2012 Pro+2012 Pro+ 2010 SP1 Pro+2010 SP1 Pro+
Управление несколькими интерпретаторамиManage multiple interpreters
Автоопределение популярных интерпретаторовAuto-detect popular interpreters
Добавление пользовательских интерпретаторовAdd custom interpreters
Виртуальные средыVirtual Environments
PIP и легкая установкаPip/Easy Install

Система проектовProject system 2017+2017+ 20152015 2013 Comm2013 Comm 2013 для настольных систем2013 Desktop 2013 Web2013 Web 2013 Pro+2013 Pro+ 2012 Pro+2012 Pro+ 2010 SP1 Pro+2010 SP1 Pro+
Создание нового проекта из существующего кодаNew project from existing code
Показать все файлыShow all files
Система управления версиямиSource control
Интеграция с GitGit integration 11

РедактированиеEditing 2017+2017+ 20152015 2013 Comm2013 Comm 2013 для настольных систем2013 Desktop 2013 Web2013 Web 2013 Pro+2013 Pro+ 2012 Pro+2012 Pro+ 2010 SP1 Pro+2010 SP1 Pro+
Подсветка синтаксисаSyntax highlighting
АвтозавершениеAuto-complete
Справка по сигнатурамSignature help
Вывод кратких сведенийQuick info
Представление классов и обозреватель объектовObject browser/class view
Панель навигацииNavigation bar
Перейти к определениюGo to Definition
Перейти кNavigate to
Найти все ссылкиFind All References
Автоматические отступыAuto indentation
Форматирование кодаCode formatting
Рефакторинг — переименованиеRefactor - rename
Рефакторинг — извлечение методаRefactor - extract method
Рефакторинг — добавление и удаление импортовRefactor - add/remove import
PyLintPyLint

Интерактивное окноInteractive window 2017+2017+ 20152015 2013 Comm2013 Comm 2013 для настольных систем2013 Desktop 2013 Web2013 Web 2013 Pro+2013 Pro+ 2012 Pro+2012 Pro+ 2010 SP1 Pro+2010 SP1 Pro+
Интерактивное окноInteractive window
IPython и встроенные графыIPython with inline graphs

Рабочий столDesktop 2017+2017+ 20152015 2013 Comm2013 Comm 2013 для настольных систем2013 Desktop 2013 Web2013 Web 2013 Pro+2013 Pro+ 2012 Pro+2012 Pro+ 2010 SP1 Pro+2010 SP1 Pro+
Приложение для консоли и WindowsConsole/Windows application
IronPython WPF (с конструктором XAML)IronPython WPF (with XAML designer)
Формы IronPython для WindowsIronPython Windows Forms

ИнтернетWeb 2017+2017+ 20152015 2013 Comm2013 Comm 2013 для настольных систем2013 Desktop 2013 Web2013 Web 2013 Pro+2013 Pro+ 2012 Pro+2012 Pro+ 2010 SP1 Pro+2010 SP1 Pro+
Веб-проект DjangoDjango web project
Веб-проект BottleBottle web project
Веб-проект FlaskFlask web project
Универсальный веб-проектGeneric web project

AzureAzure 2017+2017+ 20152015 2013 Comm2013 Comm 2013 для настольных систем2013 Desktop 2013 Web2013 Web 2013 Pro+2013 Pro+ 2012 Pro+2012 Pro+ 2010 SP1 Pro+2010 SP1 Pro+
Развертывание на веб-сайтеDeploy to web site 22
Развертывание в веб-ролиDeploy to web role 44 44 33
Развертывание в рабочей ролиDeploy to worker role ?? ?? ?? 44 44 33
Запуск в эмуляторе AzureRun in Azure emulator ?? ?? ?? 44 44 33
Удаленная отладкаRemote debugging 66 88 88
Присоединение обозревателя сервераAttach Server Explorer 77 77

Шаблоны DjangoDjango templates 2017+2017+ 20152015 2013 Comm2013 Comm 2013 для настольных систем2013 Desktop 2013 Web2013 Web 2013 Pro+2013 Pro+ 2012 Pro+2012 Pro+ 2010 SP1 Pro+2010 SP1 Pro+
ОтладкаDebugging
АвтозавершениеAuto-complete 55 55
Автозавершения для CSS и JavaScriptAuto-complete for CSS and JavaScript 55 55

ОтладкаDebugging 2017+2017+ 20152015 2013 Comm2013 Comm 2013 для настольных систем2013 Desktop 2013 Web2013 Web 2013 Pro+2013 Pro+ 2012 Pro+2012 Pro+ 2010 SP1 Pro+2010 SP1 Pro+
ОтладкаDebugging
Отладка без проектаDebugging without a project
Отладка — присоединение к редактированиюDebugging - attach to editing
Отладка в смешанном режимеMixed-mode debugging
Удаленная отладка (Windows, Mac OS X Linux)Remote debugging (Windows, Mac OS X, Linux)
Окно интерактивной отладкиDebug Interactive window

ПрофилированиеProfiling 2017+2017+ 20152015 2013 Comm2013 Comm 2013 для настольных систем2013 Desktop 2013 Web2013 Web 2013 Pro+2013 Pro+ 2012 Pro+2012 Pro+ 2010 SP1 Pro+2010 SP1 Pro+
ПрофилированиеProfiling

ПроверкаTest 2017+2017+ 20152015 2013 Comm2013 Comm 2013 для настольных систем2013 Desktop 2013 Web2013 Web 2013 Pro+2013 Pro+ 2012 Pro+2012 Pro+ 2010 SP1 Pro+2010 SP1 Pro+
Обозреватель тестовTest explorer
Запустить тестRun test
Отладка тестовDebug test

  1. Поддержка Git для Visual Studio 2012 доступна в расширении "Инструменты Visual Studio для Git", которое можно найти на веб-сайте Visual Studio Marketplace.Git support for Visual Studio 2012 is available in the Visual Studio Tools for Git extension, available on the Visual Studio Marketplace.

  2. Для развертывания на веб-сайте Azure требуется пакет Azure SDK для .NET 2.1 — Visual Studio 2010 с пакетом обновления 1 (SP1).Deployment to Azure Web Site requires Azure SDK for .NET 2.1 - Visual Studio 2010 SP1. Более поздние версии не поддерживают Visual Studio 2010.Later versions don't support Visual Studio 2010.

  3. Поддержка веб-роли и рабочей роли Azure требует пакет Azure SDK для .NET 2.3 — VS 2012 или более поздней версии.Support for Azure Web Role and Worker Role requires Azure SDK for .NET 2.3 - VS 2012 or later.

  4. Поддержка веб-роли и рабочей роли Azure требует пакет Azure SDK для .NET 2.3 — VS 2013 или более поздней версии.Support for Azure Web Role and Worker Role requires Azure SDK for .NET 2.3 - VS 2013 or later.

  5. Редактор шаблонов Django в Visual Studio 2013 имеет несколько известных проблем, которые устраняются при установке обновления 2.Django template editor in Visual Studio 2013 has some known issues that are resolved by installing Update 2.

  6. Требуется Windows 8 или более поздняя версия.Requires Windows 8 or later. Visual Studio 2013 Express для веб-сайта не использует диалоговое окно присоединения к процессу, но при этом удаленная отладка веб-сайта Azure возможна с использованием команды Attach Debugger (Python) (Подсоединить отладчик Python) в обозревателе серверов.Visual Studio 2013 Express for Web doesn't have the Attach to Process dialog, but Azure Web Site remote debugging is still possible using the Attach Debugger (Python) command in Server Explorer. Для удаленной отладки требуется пакет Azure SDK для .NET 2.3 — Visual Studio 2013 или более поздней версии.Remote debugging requires Azure SDK for .NET 2.3 - Visual Studio 2013 or later.

  7. Требуется Windows 8 или более поздняя версия.Requires Windows 8 or later. Команда присоединения отладчика (Python) в обозревателе серверов требует пакета Azure SDK для .NET 2.3 — Visual Studio 2013 или более поздней версии.Attach Debugger (Python) command in Server Explorer requires Azure SDK for .NET 2.3 - Visual Studio 2013 or later.

  8. Требуется Windows 8 или более поздняя версия.Requires Windows 8 or later.