Краткое руководство. Создание первого веб-приложения Python с помощью Visual StudioQuickstart: Create your first Python web app using Visual Studio

В рамках этого краткого (на 5–10 минут) знакомства с Visual Studio в качестве IDE для Python создается простое веб-приложение Python на платформе Flask.In this 5-10 minute introduction to Visual Studio as a Python IDE, you create a simple Python web application based on the Flask framework. Вы создадите проект при помощи дискретных действий, которые помогут ознакомиться с базовыми функциями Visual Studio.You create the project through discrete steps that help you learn about Visual Studio's basic features.

Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого.If you haven't already installed Visual Studio, go to the Visual Studio downloads page to install it for free. В установщике выберите рабочую нагрузку Разработка на Python.In the installer, make sure to select the Python development workload.

Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого.If you haven't already installed Visual Studio, go to the Visual Studio downloads page to install it for free. В установщике выберите рабочую нагрузку Разработка на Python.In the installer, make sure to select the Python development workload.

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

Ниже приведены инструкции по созданию пустого проекта, который служит контейнером для приложения:The following steps create an empty project that serves as a container for the application:

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

  2. В верхней строке меню последовательно выберите Файл > Создать > Проект.From the top menu bar, choose File > New > Project.

  3. В диалоговом окне Новый проект введите в поле поиска в правом верхнем углу "Веб-проект Python", в списке по центру выберите Веб-проект, присвойте проекту имя, например HelloPython, и нажмите кнопку ОК.In the New Project dialog box, enter "Python Web Project" in the search field on the upper right, choose Web project in the middle list, give the project a name like "HelloPython", then choose OK.

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

    Если вы не видите шаблон проекта Python, запустите Visual Studio Installer, выберите Дополнительно > Изменить, выберите рабочую нагрузку Разработка Python, затем выберите Изменить.If you don't see the Python project templates, run the Visual Studio Installer, select More > Modify, select the Python development workload, then choose Modify.

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

  4. Новый проект откроется в обозревателе решений в правой области.The new project opens in Solution Explorer in the right pane. Проект пока пуст, так как он не содержит других файлов.The project is empty at this point because it contains no other files.

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

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

  2. На начальном экране выберите Создать новый проект.On the start screen, select Create a new project.

  3. В диалоговом окне Создать новый проект введите "Python веб" в поле поиска вверху, выберите Веб-проект в среднем списке и нажмите Далее:In the Create a new project dialog box, enter "Python web" in the search field at the top, choose Web Project in the middle list, then select Next:

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

    Если вы не видите шаблон проекта Python, запустите Visual Studio Installer, выберите Дополнительно > Изменить, выберите рабочую нагрузку Разработка Python, затем выберите Изменить.If you don't see the Python project templates, run the Visual Studio Installer, select More > Modify, select the Python development workload, then choose Modify.

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

  4. В следующем диалоговом окне Настроить новый проект введите HelloPython в качестве имени проекта, укажите расположение и выберите Создать.In the Configure your new project dialog that follows, enter "HelloPython" for Project name, specify a location, and select Create. (Имя решения автоматически устанавливается в соответствии с именем проекта.)(The Solution name is automatically set to match the Project name.)

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

  5. Новый проект откроется в обозревателе решений в правой области.The new project opens in Solution Explorer in the right pane. Проект пока пуст, так как он не содержит других файлов.The project is empty at this point because it contains no other files.

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

Вопрос. В чем преимущество создания проекта в Visual Studio для приложений Python?Question: What's the advantage of creating a project in Visual Studio for a Python application?

Ответ. Приложения Python обычно определяются только с помощью файлов и папок, но такая простая структура может стать громоздкой, так как приложения увеличиваются в размере и могут содержать автоматически сгенерированные файлы, JavaScript для веб-приложений и т. д.Answer: Python applications are typically defined using only folders and files, but this simple structure can become burdensome as applications become larger and perhaps involve auto-generated files, JavaScript for web applications, and so on. Проект Visual Studio помогает управлять этими сложными моментами.A Visual Studio project helps manage this complexity. Проект (файл .pyproj) определяет все исходные файлы и файлы содержимого, связанные с проектом, содержит сведения о сборке каждого файла, хранит информацию для интеграции с системами управления версиями и помогает упорядочить приложение в виде логических компонентов.The project (a .pyproj file) identifies all the source and content files associated with your project, contains build information for each file, maintains the information to integrate with source-control systems, and helps you organize your application into logical components.

Вопрос. Что представляет собой "решение", которое отображается в обозревателе решений?Question: What is the "solution" shown in Solution Explorer?

Ответ. Решение Visual Studio является контейнером, который помогает управлять одним или несколькими связанными проектами как группой. В решении хранятся общие параметры конфигурации, которые не предназначены специально для отдельных проектов.Answer: A Visual Studio solution is a container that helps you manage for one or more related projects as a group, and stores configuration settings that aren't specific to a project. В проектах решения также могут использоваться взаимные ссылки, то есть, когда при запуске одного проекта (приложения Python) автоматически создается другой (например, расширение C++, используемое в приложении Python).Projects in a solution can also reference one another, such that running one project (a Python app) automatically builds a second project (such as a C++ extension used in the Python app).

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

Веб-приложения на Python почти всегда используют одну из множества доступных библиотек Python для обработки низкоуровневых процессов, таких как маршрутизация веб-запросов и формирование ответов.Web apps in Python almost always use one of the many available Python libraries to handle low-level details like routing web requests and shaping responses. С этой целью Visual Studio предоставляет множество шаблонов для веб-приложений, один из которых вы будете использовать позднее при выполнении задач этого руководства.For this purpose, Visual Studio provides a variety of templates for web apps, one of which you use later in this Quickstart.

А сейчас выполните следующие инструкции по установке библиотеки Flask в глобальном окружении по умолчанию, которое используется для этого проекта в Visual Studio.Here, you use the following steps to install the Flask library into the default "global environment" that Visual Studio uses for this project.

  1. Разверните в проекте узел Окружения Python, чтобы увидеть среду по умолчанию для проекта.Expand the Python Environments node in the project to see the default environment for the project.

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

  2. Щелкните окружение правой кнопкой мыши и выберите команду Установить пакет Python.Right-click the environment and select Install Python Package. Эта команда открывает вкладку Пакеты в окне Окружения Python.This command opens the Python Environments window on the Packages tab.

  3. В поле поиска введите flask и выберите результат pip install flask from PyPI.Enter "flask" in the search field and select pip install flask from PyPI. Подтвердите запросы на права администратора и наблюдайте за ходом выполнения в окне Вывод в Visual Studio.Accept any prompts for administrator privileges and observe the Output window in Visual Studio for progress. (Запрос на повышение прав выводится в том случае, если папка пакетов для глобальной среды находится в защищенной области, такой как C:\Program Files.)(A prompt for elevation happens when the packages folder for the global environment is located within a protected area like C:\Program Files.)

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

  1. Разверните в проекте узел Окружения Python, чтобы увидеть среду по умолчанию для проекта.Expand the Python Environments node in the project to see the default environment for the project.

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

  2. Щелкните окружение правой кнопкой мыши и выберите команду Управлять пакетами Python... . Эта команда открывает вкладку Пакеты (PyPI) в окне Окружения Python.Right-click the environment and select Manage Python Packages.... This command opens the Python Environments window on the Packages (PyPI) tab.

  3. В поле поиска введите "flask".Enter "flask" in the search field. Если Flask отображается под полем поиска, этот шаг можно пропустить.If Flask appears below the search box, you can skip this step. В противном случае выберите Запустить команду: pip install flask.Otherwise select Run command: pip install flask. Подтвердите запросы на права администратора и наблюдайте за ходом выполнения в окне Вывод в Visual Studio.Accept any prompts for administrator privileges and observe the Output window in Visual Studio for progress. (Запрос на повышение прав выводится в том случае, если папка пакетов для глобальной среды находится в защищенной области, такой как C:\Program Files.)(A prompt for elevation happens when the packages folder for the global environment is located within a protected area like C:\Program Files.)

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

  1. После установки библиотека появится в среде в обозревателе решений. Это означает, что ее можно использовать в коде Python.Once installed, the library appears in the environment in Solution Explorer, which means that you can make use of it in Python code.

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

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

Note

Вместо установки библиотек в глобальном окружении разработчики обычно создают "виртуальное окружение", в котором устанавливаются библиотеки для определенного проекта.Instead of installing libraries in the global environment, developers typically create a "virtual environment" in which to install libraries for a specific project. Шаблоны Visual Studio обычно обеспечивают такую возможность, как описано в кратком руководстве по созданию проекта Python с помощью шаблона.Visual Studio templates typically offer this option, as discussed in Quickstart - Create a Python project using a template.

Вопрос. Где можно подробнее узнать о других доступных пакетах Python?Question: Where do I learn more about other available Python packages?

Ответ. Перейдите к странице индекса пакетов Python.Answer: Visit the Python Package Index.

Добавление файла кодаAdd a code file

Теперь можно добавить немного кода на Python, чтобы реализовать простейшее веб-приложение.You're now ready to add a bit of Python code to implement a minimal web app.

  1. В обозревателе решений щелкните правой кнопкой мыши проект и последовательно выберите Добавить > Новый элемент.Right-click the project in Solution Explorer and select Add > New Item.

  2. В открывшемся диалоговом окне выберите элемент Пустой файл Python, присвойте файлу имя app.py и нажмите кнопку Добавить.In the dialog that appears, select Empty Python File, name it app.py, and select Add. Файл автоматически откроется в редакторе кода Visual Studio.Visual Studio automatically opens the file in an editor window.

  3. Скопируйте следующий код и вставьте его в app.py:Copy the following code and paste it into app.py:

    from flask import Flask
    
    # Create an instance of the Flask class that is the WSGI application.
    # The first argument is the name of the application module or package,
    # typically __name__ when using a single module.
    app = Flask(__name__)
    
    # Flask route decorators map / and /hello to the hello function.
    # To add other resources, create functions that generate the page contents
    # and add decorators to define the appropriate resource locators for them.
    
    @app.route('/')
    @app.route('/hello')
    def hello():
        # Render the page
        return "Hello Python!"
    
    if __name__ == '__main__':
        # Run the app server on localhost:4449
        app.run('localhost', 4449)
    
  4. Возможно, вы заметили, что в диалоговом окне Добавить > Новый элемент отображается много других типов файлов, которые можно добавить в проект Python, включая класс Python, пакет Python, модульный тест Python, файлы web.config и многое другое.You may have noticed that the Add > New Item dialog box displays many other types of files you can add to a Python project, including a Python class, a Python package, a Python unit test, web.config files, and more. Как правило, эти так называемые шаблоны элементов прекрасно подходят для быстрого создания файлов при помощи полезного стандартного кода.In general, these item templates, as they're called, are a great way to quickly create files with useful boilerplate code.

Вопрос. Где можно подробнее узнать о Flask?Question: Where can I learn more about Flask?

Ответ. Ознакомьтесь с документацией по Flask. Начать можно с краткого руководства по Flask.Answer: Refer to the Flask documentation, starting with the Flask Quickstart.

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

  1. В обозревателе решений щелкните правой кнопкой мыши файл app.py и выберите пункт Set as startup file (Задать как файл запуска).Right-click app.py in Solution Explorer and select Set as startup file. С помощью этой команды файл кода задается как запускаемый в Python при запуске приложения.This command identifies the code file to launch in Python when running the app.

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

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

  2. В обозревателе решений щелкните проект правой кнопкой мыши и выберите пункт Свойства.Right-click the project in Solution Explorer and select Properties. Затем перейдите на вкладку Отладка и присвойте свойству Номер порта значение 4449.Then select the Debug tab and set the Port Number property to 4449. Благодаря этому в Visual Studio будет запускаться браузер, используя localhost:4449, чтобы обеспечить соответствие аргументам app.run в коде.This step ensures that Visual Studio launches a browser with localhost:4449 to match the app.run arguments in the code.

  3. Выберите команду Отладка > Запуск без отладки (CTRL+F5), позволяющую сохранить изменения в файлах и запустить приложение.Select Debug > Start Without Debugging (Ctrl+F5), which saves changes to files and runs the app.

  4. Появится командное окно с сообщением о выполнении по адресу https://localhost:4449/, а затем в окне браузера откроется узел localhost:4449 и вы увидите сообщение "Hello, Python!"A command window appears with the message "* Running in https://localhost:4449/", and a browser window should open to localhost:4449 where you see the message, "Hello, Python!" В командном окне также отобразится запрос GET с состоянием 200.The GET request also appears in the command window with a status of 200.

    Если браузер не открывается автоматически, запустите выбранный вами браузер и перейдите к localhost:4449.If a browser does not open automatically, start the browser of your choice and navigate to localhost:4449.

    Если в командном окне отображается только интерактивная оболочка Python или если это окно появляется на экране и сразу исчезает, убедитесь в том, что файл app.py был задан в качестве запускаемого на шаге 1 выше.If you see only the Python interactive shell in the command window, or if that window flashes on the screen briefly, ensure that you set app.py as the startup file in step 1 above.

  5. Перейдите к localhost:4449/hello, чтобы проверить, работает ли декоратор для ресурса /hello.Navigate to localhost:4449/hello to test that the decorator for the /hello resource also works. В командном окне снова отобразится запрос GET с состоянием 200.Again, the GET request appears in the command window with a status of 200. Вы можете попробовать и несколько других URL-адресов. Вы увидите, что в командном окне для них отображается код состояния 404.Feel free to try some other URL as well to see that they show 404 status codes in the command window.

  6. Закройте командное окно, чтобы остановить приложение, а затем закройте окно браузера.Close the command window to stop the app, then close the browser window.

Вопрос. В чем разница между командами "Запуск без отладки" и "Начать отладку"?Question: What's the difference between the Start Without Debugging command and Start Debugging?

Ответ. Команда Начать отладку используется, чтобы запустить приложение в контексте отладчика Visual Studio, что позволяет задавать точки останова, просматривать переменные и осуществлять построчное выполнение кода.Answer: You use Start Debugging to run the app in the context of the Visual Studio debugger, allowing you to set breakpoints, examine variables, and step through your code line by line. С отладчиком приложения могут работать медленнее, так как для отладки используются различные обработчики.Apps may run slower in the debugger because of the various hooks that make debugging possible. С помощью команды Запуск без отладки, напротив, приложение запускается напрямую, как если бы использовалась командная строка. При этом отсутствует контекст отладки. Браузер запускается автоматически, и выполняется переход к URL-адресу, указанному на вкладке свойств проекта Отладка.Start Without Debugging, in contrast, runs the app directly as if you ran it from the command line, with no debugging context, and also automatically launches a browser and navigates to the URL specified in the project properties' Debug tab.

Следующие шагиNext steps

Поздравляем с запуском вашего первого приложения Python из Visual Studio, в процессе которого вы немного ознакомились с особенностями использования Visual Studio в качестве среды IDE для Python!Congratulations on running your first Python app from Visual Studio, in which you've learned a little about using Visual Studio as a Python IDE!

Так как приведенные в этом руководстве инструкции довольно общие, вы, вероятно, догадались, что их можно и нужно автоматизировать.Because the steps you followed in this Quickstart are fairly generic, you've probably guessed that they can and should be automated. Такая автоматизация выполняется при помощи шаблонов проектов Visual Studio.Such automation is the role of Visual Studio project templates. Изучите краткое руководство по созданию проекта Python на основе шаблона, чтобы узнать, как создается веб-приложение, похожее на созданное вами в рамках этой статьи, но с меньшим количеством шагов.Go through Quickstart - Create a Python project using a template for a demonstration that creates a web app similar to the one you created in this article, but with fewer steps.

Чтобы перейти к более полному учебнику по работе с Python в Visual Studio, включая использование интерактивного окна, отладку, визуализацию данных и работу с Git, выберите Учебник. Начало работы с Python в Visual Studio.To continue with a fuller tutorial on Python in Visual Studio, including using the interactive window, debugging, data visualization, and working with Git, go through Tutorial: Get started with Python in Visual Studio.

Более подробно ознакомиться с возможностями Visual Studio можно по приведенным ниже ссылкам.To explore more that Visual Studio has to offer, select the links below.