Создание графического интерфейса в python visual studio

Обновлено: 06.07.2024

Python — это популярный язык программирования, который отличается надежностью, гибкостью и простотой освоения. Его можно бесплатно использовать на любых операционных системах. Он поддерживается широким сообществом разработчиков. Кроме того, для него доступно множество бесплатных библиотек. Этот язык поддерживает все виды разработки, в том числе веб-приложения, веб-службы, классические приложения, создание сценариев и научные вычисления. Поэтому Python используется множеством университетов, ученых, разработчиков-любителей и профессиональных разработчиков.

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

Предварительные требования

  • Visual Studio 2017 с установленной рабочей нагрузкой Python. См. дополнительные сведения об использовании Python в Visual Studio.
  • Visual Studio 2019 с установленной рабочей нагрузкой Python. См. дополнительные сведения об использовании Python в Visual Studio.
  • Visual Studio 2022 с установленной рабочей нагрузкой Python. См. дополнительные сведения об использовании Python в Visual Studio.

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

Шаг 1. Создание проекта Python

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

В этом учебнике вы начнете работу с простого проекта, содержащего один пустой файл кода.

В Visual Studio выберите Файл > Создать > Проект (CTRL+SHIFT+N), после чего откроется диалоговое окно Создание проекта. В нем можно просмотреть шаблоны для разных языков, после чего выбрать один из них для вашего проекта и указать, куда среда Visual Studio должна поместить файлы.

Чтобы просмотреть шаблоны Python, выберите Установленные > Python в области слева или выполните поиск по слову "Python". Поиск — это отличный способ найти шаблон, если вы не помните, где он находится в дереве языков.

Снимок экрана: диалоговое окно "Создать проект" с шаблонами проектов Python.

Поддержка Python в Visual Studio включает в себя несколько шаблонов проектов, включая веб-приложения на платформах Bottle, Flask и Django. Однако для целей данного пошагового руководства мы начнем с пустого проекта.

Выберите шаблон Приложение Python, укажите имя проекта и нажмите кнопку ОК.

Через несколько секунд в окне обозревателя решений Visual Studio (1) будет показана структура проекта. Файл кода по умолчанию откроется в редакторе (2). Кроме того, откроется окно Свойства (3), в котором приводятся дополнительные сведения для элемента, выбранного в обозревателе решений, включая его точное расположение на диске.

Снимок экрана: открытие нового проекта в Visual Studio.

Потратьте несколько минут на знакомство с обозревателем решений, который служит для просмотра файлов и папок проекта.

Снимок экрана: развернутый Обозреватель решений с функциональными возможностями.

(1) Полужирным шрифтом выделен ваш проект, имя которого вы указали в окне Создание проекта. На диске этот проект представлен файлом .pyproj в папке проекта.

(2) На верхнем уровне находится решение, имя которого по умолчанию совпадает с именем проекта. Решение, представленное на диске файлом SLN, является контейнером для одного или нескольких связанных проектов. Например, если вы создаете расширение C++ для приложения Python, этот проект C++ может входить в то же решение. Решение также может включать в себя проект веб-службы и проекты специальных тестовых программ.

(3) В проекте можно увидеть файлы исходного кода. В нашем примере это один файл .py. При выборе файла его свойства приводятся в окне Свойства. Если дважды щелкнуть файл, он откроется в соответствующем средстве.

(4) Кроме того, в проекте есть узел Окружения Python. Если развернуть его, можно увидеть доступные интерпретаторы Python. Развернув узел интерпретатора, вы увидите библиотеки, установленные в этой среде (5).

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

В Visual Studio последовательно выберите Файл > Создать > Проект или нажмите комбинацию клавиш CTRL+SHIFT+N. Откроется экран Создать проект, где можно искать и просматривать шаблоны на разных языках.

Чтобы просмотреть шаблоны Python, выполните поиск по слову python. Поиск — это отличный способ найти шаблон, если вы не помните, где он находится в дереве языков.

Снимок экрана: диалоговое окно "Создать проект" с шаблонами проектов Python.

Поддержка Python в Visual Studio включает в себя несколько шаблонов проектов, таких как веб-приложения на платформах Bottle, Flask и Django. Для целей этого учебника мы начнем работу с пустого проекта.

Выберите шаблон PythonConsoleApp и нажмите кнопку Далее.

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

Новый проект откроется в Visual Studio.

  • В окне Обозреватель решений Visual Studio будет показана структура проекта (1) .
  • Файл кода по умолчанию откроется в редакторе (2) .
  • Откроется окно Свойства, в котором приводятся дополнительные сведения для элемента, выбранного в Обозревателе решений, включая его точное расположение на диске (3) .

Снимок экрана: открытие нового проекта в Visual Studio.

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

Снимок экрана: развернутый Обозреватель решений с функциональными возможностями.

На верхнем уровне находится решение, имя которого по умолчанию совпадает с именем проекта (1).

Решение, представленное на диске файлом SLN, является контейнером для одного или нескольких связанных проектов. Например, если вы создаете расширение C++ для приложения Python, этот проект C++ может входить в то же решение. Решение также может включать в себя проект веб-службы и проекты специальных тестовых программ.

Ваш проект, имя которого вы указали в диалоговом окне Новый проект, будет выделен полужирным шрифтом (2) . На диске проект представлен файлом PYPROJ в папке проекта.

В проекте можно увидеть исходные файлы. В нашем примере это один файл PY ( (3) ). При выборе файла его свойства приводятся в окне Свойства. Если дважды щелкнуть файл, он откроется в соответствующем средстве.

Кроме того, в проекте есть узел Окружения Python ( (4) ). Разверните узел, чтобы отобразить доступные интерпретаторы Python.

Развернув узел интерпретатора, вы увидите библиотеки, установленные в этой среде (5) .

Щелкните правой кнопкой мыши любой узел или элемент в Обозревателе решений, чтобы открыть контекстное меню с применимыми командами. Например, с помощью команды Переименовать можно изменить имя любого узла или элемента, в том числе проекта и решения.

DearPyGui

DearPyGui

Dear PyGui принципиально отличается от других фреймворков GUI Python. Рендеринг на GPU, более 70 виджетов, встроенная поддержка асинхронности — это лишь некоторые возможности Dear PyGui. Руководством по работе с этим пакетом делимся к старту курса по разработке на Python.

Парадигма Retained Mode позволяет создавать чрезвычайно динамичные интерфейсы. Dear PyGui не использует нативные виджеты, а рисует с помощью видеокарты компьютера, как PyQt (используя API рендеринга DirectX11, Metal и Vulkan).

Почему Dear PyGui?

По сравнению с другими библиотеками Python GUI Dear PyGui уникален:

Рендеринг на GPU.

Простая встроенная поддержка асинхронных функций.

Полное управление темами и стилями.

Простое встроенное окно логирования.

70+ виджетов, сотни их комбинаций.

Подробная документация, примеры и беспрецедентная поддержка.

Основные моменты

Темы — 10 встроенных тем и система пользовательских тем.

Graphing — API для работы с графиками (обертка ImPlot).

Canvas — низкоуровневый API для рисования.

Logging — API логирования.

Виджеты — просто прокрутите вниз, чтобы увидеть их.

Установка

Убедитесь, что у вас установлен как минимум Python 3.7 (64 бит).

Зависимости

Начинаем писать GUI

Dear PyGui предоставляет разработчикам python простой способ создания быстрых и мощных графических интерфейсов для скриптов. Dear PyGui состоит из окна программы, окон и виджетов. Окно программы является главным окном вашей программы и создаётся в конце основного скрипта вызовом start_dearpygui().

Вывод

Вывод

В приведённом ниже примере программы показано окно программы и ещё одно окно, в котором с помощью встроенной функции документации отображается документация:

Встроенная документация

Встроенная документация

Dear PyGui состоит из двух модулей: dearpygui.core и dearpygui.simple.

dearpygui.core содержит базовую функциональность Dear PyGUI. Через ядро можно делать всё. На самом деле это расширение на языке Си, просто обёрнутое в модуль.

dearpygui.simple содержит обёртки и утилиты уже из кода ядра для удобства работы с Dear PyGui.

Инструменты разработки

В Dear PyGui есть полезные инструменты разработки. Метод show_source() принимает имя входного файла Python.

Встроенное логирование

Мощный инструмент разработки — Logger, он вызывается методом show_logger(). Уровней логирования 6: Trace, Debug, Info, Warning, Error, Off. Логгер выведет установленный уровень и отфильтрует все уровни ниже.

Логирование

Логирование

Уровень лога mvTRACE покажет все команды.

Пишем виджеты и контейнеры

Элементы библиотеки можно разделить на:

обычные предметы: поля ввода, кнопки;

контейнеры (окно, всплывающее окно, всплывающая подсказка, элемент-потомок);

элементы макета (группа, следующая колонка (next_column)).

Элементы добавляются командами с префиксом add_.

Виджеты

Виджеты

Каждый элемент должен иметь уникальное имя. По умолчанию, если это применимо, имя станет меткой элемента. При желании можно изменить метку:

Ключевое слово label, которое отобразит метку вместо имени.

Некоторые имена элементов автоматически генерируются для элементов без аргументов имени в функции (т. е. same_line). Но у них есть необязательное ключевое слово name, и его можно заполнить, когда понадобится ссылка на элемент.

Контекстные менеджеры dearpygui.simple автоматизируют вызов функции end, позволяют сворачивать код и в самом коде показывают иерархию.

По умолчанию элементы создаются в порядке их описания в коде.

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

Виджеты

Каждый виджет ввода имеет значение, которое можно задать с помощью ключевого слова default_value при создании или во время выполнения команды set_value. Для доступа к значению виджета можно использовать команду get_value. Мы также можем передавать значение виджета непосредственно в переменную python и из неё.

Виджеты и обратные вызовы окна

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

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

Каждый обратный вызов должен принимать аргументы sender и data.

sender сообщает обратному вызову имя элемента, которым он вызывается.

Аргумент data применяется разными стандартными обратными вызовами для отправки дополнительных данных через определение callback_data.

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

Если вы хотите, чтобы обратный вызов выполнялся на каждом фрейме, воспользуйтесь set_render_callback().

Добавляем и удаляем виджеты в рантайме

С помощью Dear PyGui вы можете динамически добавлять и удалять любые элементы во время выполнения программы. Это можно сделать, используя обратный вызов для выполнения команды add_* нужного элемента, указав родителя, к которому будет принадлежать элемент. По умолчанию, если не указан родительский элемент, виджет будет добавлен в MainWindow.Используя ключевое слово before при добавлении элемента, вы можете контролировать, перед каким элементом родительской группы будет находиться новый элемент. По умолчанию новый виджет помещается в конец.

Хранилище значений и данных

Когда новый виджет добавлен, в системное хранилище добавляется некое значение. По умолчанию идентификатор этого значения — имя виджета. Значения извлекаются из системы значений с помощью get_value("source name"). Меняются значения вручную, методом set_value("source name"). Чтобы виджеты разных типов значений могли использовать одно и то же значение в системе хранения, сначала должно быть создано большее значение.

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

Вот так можно хранить отображение:

Очень важный виджет для функциональности GUI — это бар меню. Строки меню всегда отображаются в верхней части окна и состоят в основном из:

Лента главного меню.

Конкретные элементы меню.

Элементы меню добавляются слева направо, а элементы подменю — сверху вниз. Они могут быть вложенными, насколько это необходимо:

Диалоги выбора файлов и каталогов

Диалог выбора каталога вызывается select_directory_dialog(), которому необходим обратный вызов.

Файловые диалоги вызываются open_file_dialog(), которому должен быть задан обратный вызов. Аргумент data возвращаемого обратного вызова будет заполнен списком строк из пути к папке и к файлу. Расширения — это дополнительное ключевое слово к диалогу файлов, которое позволяет отфильтровать файлы в диалоге по расширениям.

Графики

В Dear PyGui есть «простые графики» и «графики», оба типа могут быть динамическими.

Графики

Графики

Простые графики берут список и строят данные по оси y в зависимости от количества элементов в списке. Это могут быть линейные графики или гистограммы.

В «графиках» используются координаты x и y. Вызывать их нужно командой add_plot(), затем данные могут быть добавлены в виде линейного или рассеянного ряда. Вот список возможностей:

Клик с перетаскиванием панорамирует график.

Клик с перетаскиванием по оси панорамирует график в одном направлении.

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

Правый клик и перетаскивание увеличивают область.

Двойной правый клик открывает настройки.

Shift + правый клик и перетаскивание масштабирует область, заполняющую текущую ось.

Прокрутка колёсика позволяет рассмотреть детали.

Прокрутка колёсика по оси увеличивает только по этой оси.

Можно переключать и скрывать наборы данных на легенде.

Простые графики можно сделать динамическими, изменив значение вызова plot с помощью set_value().

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

Рисование и холст

В Dear PyGui есть низкоуровневый API, хорошо подходящий для рисования примитивов, пользовательских виджетов и даже динамических рисунков.


Рисунок запускается вызовом add_drawing(). Начало холста — в левом нижнем углу.

Рисунки имеют масштаб, начало и размер, к которым можно получить доступ и задать их. Масштаб — это множитель значений элементов x и y. Размер указывается в пикселях. На рисунках можно отображать .jpg, .jpg или .bmp. Изображения рисуются с помощью функции draw_image().

Хотя рисунки можно сделать динамичными, очищая и перерисовывая всё заново, предлагается метод эффективнее: чтобы сделать рисунок динамичным, мы должны использовать ключевое слово tag для обозначения элементов, которые хотим перерисовать. Затем нужно просто вызвать команду рисования, используя тот же тег. Это позволит удалить только один элемент и перерисовать его с помощью новой команды.

Дельта-время и внутренние часы

Dear PyGui имеет встроенные часы для проверки общего времени работы. get_total_time(), возвращается общее время работы в секундах.

Также с помощью команды get_delta_time() мы можем проверить время между кадрами рендеринга в секундах.

Таблицы

Dear PyGui имеет простой API таблиц, который хорошо подходит для статических и динамических таблиц.

Таблицы

Таблицы

Виджет таблицы запускается вызовом add_table(). Для редактирования виджета таблицы мы можем использовать методы add_row(), add_column(), которые добавят строку/столбец к последнему слоту таблицы.

В качестве альтернативы мы можем вставить строки/столбцы с помощью insert_row(), insert_column(). Столбцы и строки вставляются в соответствии с их индексным аргументом. Если указанный индекс уже существует, то выходящие столбцы/строки будут удалены, а новая строка/столбец будет вставлена по указанному индексу.

Кроме того, при добавлении или вставке строки/столбца неуказанные ячейки по умолчанию окажутся пустыми. Кроме того, заголовки и ячейки могут быть переименованы, а их значения изменены. Ячейки можно выбирать. Это означает, что мы можем применить обратный вызов к таблице и получить через отправителя данные о том, какая ячейка была выбрана, и даже получить текст внутри ячейки.

Опрос устройств ввода

Опрос ввода в Dear PyGui делается вызовом команды опроса в функции. Функция должна быть установлена на обратный вызов рендеринга окна, чтобы опрос происходил, когда это окно активно. Обратные вызовы рендеринга выполняются каждый кадр, Dear PyGui может опрашивать на предмет ввода между кадрами.

Опрос устройств ввода

Опрос устройств ввода Вот список функций опроса

Последние несколько лет специалисты Microsoft трудились над тем, чтобы добавить поддержку инструментов разработчика Python в одни из наших самых популярных продуктов: Visual Studio Code и Visual Studio. В этом году все заработало. В статье мы познакомимся с инструментами разработчика Python в Visual Studio, Visual Studio Code, Azure и т. д. Заглядывайте под кат!


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

Visual Studio Code

Расширение Python для Visual Studio Code с открытым исходным кодом включает в себя другие общедоступные пакеты Python, чтобы предоставить разработчикам широкие возможности для редактирования, отладки и тестирования кода. Python — самый быстроразвивающийся язык в Visual Studio Code, а соответствующее расширение является одним из самых популярных в разделе Marketplace, посвященном Visual Studio Code!

Чтобы начать работу с расширением, необходимо сначала скачать Visual Studio Code, а затем, следуя нашему руководству Начало работы с Python, установить расширение и настроить основные функции. Рассмотрим некоторые из них.

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


Селектор поддерживает множество разных интерпретаторов и сред Python: Python 2, 3, virtualenv, Anaconda, Pipenv и pyenv. После выбора интерпретатора расширение начнет использовать его для функции IntelliSense, рефакторинга, анализа, выполнения и отладки кода.

Чтобы локально запустить скрипт Python, можно воспользоваться командой «Python: Create Terminal» («Python: создать терминал») для создания терминала с активированной средой. Нажмите CTRL + Shift + P (или CMD + Shift + P на Mac), чтобы открыть командную строку. Чтобы выполнить файл Python, достаточно щелкнуть на нем правой кнопкой мыши и выбрать пункт «Run Python File in Terminal» («Запустить файл Python в терминале»):


Эта команда запустит выбранный интерпретатор Python, в данном случае виртуальную среду Python 3.6, для выполнения файла:


Расширение Python также включает шаблоны отладки для многих популярных типов приложений. Перейдите на вкладку «Debug» («Отладка») и выберите «Add Configuration…» («Добавить конфигурацию. ») в выпадающем меню конфигурации отладки:


Вы увидите готовые конфигурации для отладки текущего файла, подключающегося к удаленному серверу отладки или соответствующему приложению Flask, Django, Pyramid, PySpark или Scrapy. Для запуска отладки нужно выбрать конфигурацию и нажать зеленую кнопку Play (или клавишу F5 на клавиатуре, FN + F5 на Mac).

Расширение Python поддерживает различные анализаторы кода, для которых можно настроить запуск после сохранения файла Python. PyLint включен по умолчанию, а другой анализатор можно выбрать с помощью команды «Python: Select Linter» («Python: выбрать анализатор кода»):


Это еще не все: предусмотрена поддержка рефакторинга, а также модульного тестирования с помощью unittest, pytest и nose. К тому же вы можете использовать Visual Studio Live Share для удаленной работы над кодом Python вместе с другими разработчиками!

Python в Visual Studio

Чтобы включить поддержку Python в Visual Studio на Windows, необходимо выбрать рабочую нагрузку «Разработка на Python» и (или) рабочую нагрузку «Приложения для обработки и анализа данных и аналитические приложения» в установщике Visual Studio:


Можно установить различные версии Python и Anaconda, выбрав их в меню дополнительных компонентов (см. правую часть скриншота выше).

После установки рабочей нагрузки Python, можно начать работу, создав проект Python в разделе с помощью меню «Файл -> Новый проект» (в списке установленных компонентов выберите Python):


Чтобы создать приложение с нуля, откройте шаблон приложения Python и приступайте к написанию кода. Также можно создать проект, взяв за основу существующий код Python или используя веб-шаблоны для Flask, Django и Bottle. Ознакомьтесь с нашим Руководством по Flask и Руководством по Django, чтобы получить подробную информацию по разработке веб-приложений с помощью этих платформ и Visual Studio.

Если установлена рабочая нагрузка по обработке и анализу данных, также можно использовать шаблоны для проектов по машинному обучению с использованием Tensorflow и CNTK.
После того как проект создан, управлять виртуальными средами и средами conda можно с помощью узла «Python Environments» («Среды Python») в обозревателе решений и окне среды Python. Щелкнув правой кнопкой мыши по активной среде Python и выбрав соответствующий пункт меню, можно установить дополнительные пакеты:


Можно даже проводить отладку кода на обоих языках в рамках одного сеанса, например, переключившись с типа отладки C++ на Python/Native:


Ознакомиться с подробной информацией о вставке Python в приложения C++ можно в публикации Вставка Python в проект C++ в блоге Python.

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

Python в Azure

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

Можно устанавливать отдельные библиотеки, например для установки пакета SDK для взаимодействия с Azure Storage воспользуйтесь командой:


Рекомендуется устанавливать только нужные вам пакеты, но для удобства вы можете установить весь набор пакетов Azure SDK, выполнив следующую команду:


После установки пакета SDK вы получаете доступ ко множеству полезных служб, начиная от использования API машинного обучения с помощью Azure Cognitive Services и заканчивая размещением глобально распределенных данных с помощью Azure Cosmos DB.

Веб-приложения можно развернуть с помощью функции Azure «Веб-приложение для контейнеров». Ознакомьтесь с видео From Zero to Azure with Python and Visual Studio Code (В Azure с нуля с помощью Python и Visual Studio Code), предоставляющим всю необходимую информацию по развертыванию приложений Flask с использованием Visual Studio Code. Также обратите внимание на краткое пособие по развертыванию приложения Flask с использованием командной строки.

Кроме того, на Azure можно запускать свободно размещенные блокноты Jupyter, поэтому локальная установка Jupyter не потребуется. К блокнотам Jupyter можно открывать доступ для их совместного использования. Например, вы можете просмотреть находящийся в общем доступе блокнот для создания рукописного текста с помощью машинного обучения:


Полезные материалы по теме

Мини-книга «Создавайте более качественные приложения и быстро используйте данные там, где это нужно»

Читайте электронную книгу Создание современных приложений на основе больших данных в глобальном масштабе, чтобы узнать, как готовая к использованию глобально распределенная служба баз данных Azure Cosmos DB меняет подходы к управлению данными. Обеспечивайте доступность, согласованность и защиту данных, используя передовые отраслевые технологии корпоративного класса для соблюдения нормативных требований и обеспечения безопасности. Начните разработку лучших приложений для своих пользователей на базе одной из пяти четко определенных моделей согласованности.


Семинар «Как выбрать правильную инфраструктуру для выполнения ваших рабочих нагрузок в Azure»

В этом семинаре присоединитесь к рассказу регионального директора Microsoft Эрику Бойду, MVP Azure, о том, как выбрать правильные виртуальные машины, хранилища и сети для приложений и рабочих нагрузок в Azure.

Руководство по архитектуре облачных приложений

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

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

Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого. В установщике выберите рабочую нагрузку Разработка на Python.

Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого. В установщике выберите рабочую нагрузку Разработка на Python.

Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого. В Visual Studio Installer выберите рабочую нагрузку Разработка на Python, а в сведениях об установке — Веб-поддержка в Python.

Снимок экрана: Visual Studio Installer с выбранными рабочей нагрузкой "Разработка на Python" и "Веб-поддержка в Python".

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

Ниже приведены инструкции по созданию пустого проекта, который служит контейнером для приложения:

Откройте Visual Studio 2017.

В верхней строке меню последовательно выберите Файл > Создать > Проект.

В диалоговом окне Новый проект введите в поле поиска в правом верхнем углу "Веб-проект Python", в списке по центру выберите Веб-проект, присвойте проекту имя, например HelloPython, и нажмите кнопку ОК.

Диалоговое окно создания проекта с выбранным веб-проектом Python

Если вы не видите шаблон проекта Python, запустите Visual Studio Installer, выберите Дополнительно > Изменить, выберите рабочую нагрузку Разработка Python, затем выберите Изменить.

Рабочая нагрузка разработки Python в установщике Visual Studio

Новый проект откроется в обозревателе решений в правой области. Проект пока пуст, так как он не содержит других файлов.

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

Запустите Visual Studio 2019.

На начальном экране выберите Создать новый проект.

В диалоговом окне Создать новый проект введите "Python веб" в поле поиска вверху, выберите Веб-проект в среднем списке и нажмите Далее:

Окно "Создание проекта" с выбранным параметром "Веб-проект Python"

. Если вы не видите шаблоны проекта Python, запустите Visual Studio Installer, выберите Подробнее > Изменить. Выберите рабочую нагрузку Разработка на Python и выберите Изменить.

Рабочая нагрузка разработки Python в установщике Visual Studio

В следующем диалоговом окне Настроить новый проект введите HelloPython в качестве имени проекта, укажите расположение и выберите Создать. (Имя решения автоматически устанавливается в соответствии с именем проекта.)

Диалоговое окно "Настроить новый проект"

Новый проект откроется в обозревателе решений в правой области. Проект пока пуст, так как он не содержит других файлов.

Снимок экрана: новый пустой проект в Обозревателе решений.

Откройте Visual Studio 2022.

На начальном экране выберите Создать новый проект.

В диалоговом окне Создание проекта введите "Python web" в поле поиска вверху. Выберите Веб-проект из списка, а затем нажмите Далее:

Снимок экрана: окно "Создание проекта" с выбранным веб-проектом Python.

Если вы не видите шаблоны веб-проекта Python, выберите пункт Средства > Get Tools and Features (Получить средства и компоненты), чтобы запустить Visual Studio Installer. В Installer выберите рабочую нагрузку Разработка на Python, а в разделе Сведения об установке щелкните Веб-поддержка в Python. Затем нажмите кнопку Изменить.

В диалоговом окне Настроить новый проект введите "HelloPython" в качестве имени проекта, укажите расположение, а затем выберите Создать. Поле Имя решения автоматически обновится в соответствии с именем проекта.

Снимок экрана: диалоговое окно "Настроить новый проект".

Новый проект откроется в обозревателе решений в правой области. Проект пока пуст, так как он не содержит других файлов.

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

Вопрос. В чем преимущество создания проекта в Visual Studio для приложений Python?

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

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

Вопрос. Что представляет собой "решение", которое отображается в обозревателе решений?

Ответ. Решение Visual Studio — это контейнер, который помогает управлять одним или несколькими связанными проектами в виде группы. В решении хранятся параметры конфигурации, которые не относятся к конкретному проекту. Проекты в решении также могут ссылаться друг на друга. Например, при запуске проекта приложения Python может автоматически создаваться второй проект, например расширение C++, используемое приложением Python.

Установка библиотеки Flask

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

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

Среда по умолчанию в обозревателе решений

Щелкните окружение правой кнопкой мыши и выберите команду Установить пакет Python. Эта команда открывает вкладку Пакеты в окне Окружения Python.

В поле поиска введите flask и выберите результат pip install flask from PyPI. Подтвердите запросы на права администратора и наблюдайте за ходом выполнения в окне Вывод в Visual Studio. (Запрос на повышение прав выводится в том случае, если папка пакетов для глобальной среды находится в защищенной области, такой как C:\Program Files.)

Установка библиотеки Flask с помощью pip

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

Среда по умолчанию в обозревателе решений

Щелкните окружение правой кнопкой мыши и выберите команду Управлять пакетами Python. . Эта команда открывает вкладку Пакеты (PyPI) в окне Окружения Python.

В поле поиска введите "flask". Если Flask отображается под полем поиска, этот шаг можно пропустить. В противном случае выберите Запустить команду: pip install flask. Подтвердите запросы на права администратора и наблюдайте за ходом выполнения в окне Вывод в Visual Studio. (Запрос на повышение прав выводится в том случае, если папка пакетов для глобальной среды находится в защищенной области, такой как C:\Program Files.)

Установка библиотеки Flask с помощью pip

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

Снимок экрана: окружение по умолчанию в Обозревателе решений.

Щелкните окружение правой кнопкой мыши и выберите Открыть пакеты Python. Эта команда открывает вкладку Пакеты (PyPI) в окне Окружения Python.

В поле поиска введите "flask". Если Flask отображается под полем поиска, этот шаг можно пропустить. В противном случае выберите Выполнить команду: pip install flask.

Снимок экрана: установка библиотеки Flask с помощью команды pip install.

Запрос на повышение прав отображается, если папка пакетов глобального окружения находится в защищенной области, например в папке C:\Program Files. Подтвердите запросы на права администратора. Следите за ходом выполнения в окне Вывод в Visual Studio.

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

Установленная библиотека Flask в обозревателе решений

Установленная библиотека Flask в обозревателе решений

Снимок экрана: установленная библиотека Flask, отображающаяся в Обозревателе решений.

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

Вопрос. Где можно подробнее узнать о других доступных пакетах Python?

Ответ. Перейдите к странице индекса пакетов Python.

Добавление файла кода

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

Щелкните правой кнопкой мыши в Обозревателе решений и выберите Добавить > Создать элемент.

В открывшемся диалоговом окне выберите элемент Пустой файл Python, присвойте файлу имя app.py и нажмите кнопку Добавить. Файл автоматически откроется в редакторе кода Visual Studio.

Скопируйте следующий код и вставьте его в app.py:

Щелкните правой кнопкой мыши в Обозревателе решений и выберите Добавить > Создать элемент.

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

Скопируйте следующий код и вставьте его в app.py:

Как вы могли заметить, в диалоговом окне Добавить > Создать элемент отображается много других типов файлов, которые можно добавить в проект Python, в том числе класс Python, пакет Python, модульный тест Python, файлы web.config и многое другое. Как правило, эти шаблоны элементов прекрасно подходят для быстрого создания файлов при помощи полезного стандартного кода.

Вопрос. Где можно подробнее узнать о Flask?

Ответ. Ознакомьтесь с документацией по Flask. Начать можно с краткого руководства по Flask.

Запуск приложения

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

Задание файла запуска для проекта в обозревателе решений

Задание файла запуска для проекта в обозревателе решений

Снимок экрана: установка файла запуска для проекта в Обозревателе решений.

Выберите пункт Отладка > Запустить без отладки или нажмите сочетание клавиш Ctrl+F5, чтобы сохранить изменения в файлах и запустить приложение.

Если браузер не открывается автоматически, запустите выбранный вами браузер и перейдите по адресу localhost:4449 .

Если в командном окне отображается только интерактивная оболочка Python или если это окно появляется на экране и сразу исчезает, убедитесь, что файл app.py задан как файл запуска.

Перейдите к localhost:4449/hello , чтобы проверить, работает ли декоратор для ресурса /hello . Запрос GET снова отобразится в командном окне с состоянием 200 . Попробуйте использовать несколько других URL-адресов. Вы увидите, что в командном окне для них отображается код состояния 404 .

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

Вопрос. В чем разница между командами "Запустить без отладки" и "Начать отладку"?

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

Команда Запустить без отладки запускает приложение напрямую, как если бы оно запускалось из командной строки без контекста отладки. Команда Запустить без отладки также автоматически запускает браузер и переходит по URL-адресу, указанному на вкладке Отладка свойств проекта.

Дальнейшие действия

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

Так как приведенные в этом руководстве инструкции довольно общие, вы, вероятно, догадались, что их можно и нужно автоматизировать. Такая автоматизация выполняется при помощи шаблонов проектов Visual Studio. Изучите краткое руководство Создание проекта Python с использованием шаблона, чтобы узнать, как создать веб-приложение, похожее на описанные в этой статье, но с меньшим количеством шагов.

Чтобы перейти к более полному учебнику по работе с Python в Visual Studio, в том числе к использованию интерактивного окна, отладки, визуализации данных и работы с Git, см. раздел Учебник. Начало работы с Python в Visual Studio.

Более подробно ознакомиться с возможностями Visual Studio можно по приведенным ниже ссылкам.

Читайте также: