快速入门:从 Visual Studio 中的模板创建 Python 项目

在本快速入门教程中,按照指导步骤,使用内置的 Python 项目模板快速创建 Flask 应用程序。 借助 Visual Studio,可以在多个 Python 框架(包括 Flask、Django 和 Bottle)的模板中使用样板代码和功能轻松开发 Python 项目。 本文中介绍的 Python 项目类似于你通过快速入门:使用 Flask 创建 Web 应用一文手动创建的项目。

先决条件

  • 安装了 Python 工作负载支持的 Visual Studio。

    在 Visual Studio 安装程序中,选择 Python 开发工作负载和 Python Web 支持选项以访问 Web 项目模板。 有关详细信息,请参阅在 Visual Studio 中安装 Python 支持

    显示如何在 Visual Studio 安装程序中选择适用于 Python 开发工作的 Python Web 支持的屏幕截图。

不支持 Visual Studio for Mac。 有关详细信息,请参阅 Visual Studio for Mac 发生了什么情况?Windows、Mac 和 Linux 上的 Visual Studio Code 通过可用扩展与 Python 配合工作

创建项目

按照此过程创建 Visual Studio 解决方案和新的 Flask Web 项目:

  1. 在 Visual Studio 中,选择“文件”>“新建”>“项目”,并搜索“Flask”。选择“空白 Flask Web 项目”模板并选择“下一步”

    显示如何在 Visual Studio 2022 中选择空白 Flask Web 项目模板的屏幕截图。

  2. Visual Studio 会显示项目配置对话框。 输入项目名称,然后选择“创建”。 可将其他字段保留为默认值。

    显示如何在 Visual Studio 2022 中配置新的空白 Flask Web 项目的屏幕截图。

  3. 稍后,VisualStudio 将显示有关如何处理包依赖项的提示。 根据是否已安装包依赖项,提示会有所不同。

    对话框此项目需要外部包指示选定的模板包含一个 requments.txt 文件,该文件指定了 Flask 包的依赖项。 Visual Studio 可自动安装包,这让你可以选择将这些包安装到虚拟环境中。 建议使用虚拟环境,而不是安装到全局环境中。

    如果收到此对话框,请选择“安装到虚拟环境”选项:

    提示在 Visual Studio 中将所需的包依赖项安装到虚拟环境中的屏幕截图。

    或者,你可能会在 Visual Studio 窗口顶部看到在项目 <Project name>" 中检测到 Python 包规范文件 "requirements.txt" 提示。 此提示指示包依赖项已在配置中可用。 Visual Studio 可以根据现有配置为你创建虚拟环境。

    如果看到此提示,请选择“创建虚拟环境”选项:

    提示指示在 Visual Studio 中检测到项目要求文件的屏幕截图。

  4. Visual Studio 显示“添加环境”对话框。 接受默认值并选择“创建”,然后同意任意升级请求。

    显示如何在 Visual Studio 2022 中为 Flask 项目添加虚拟环境的屏幕截图。

  1. 在 Visual Studio 中,选择“文件”“新建”“项目”。

  2. 在“新建项目”对话框中,搜索“blank flask”。 在中间列表中选择空白 Flask Web 项目模板,输入项目名称,然后选择“确定”

    显示如何选择“空白 Flask Web 项目”模板以在 Visual Studio 中创建新的 Flask 应用的屏幕截图。

  3. 稍后,Visual Studio 将显示提示:

    对话框此项目需要外部包指示选定的模板包含一个 requments.txt 文件,该文件指定了 Flask 包的依赖项。 Visual Studio 可自动安装包,这让你可以选择将这些包安装到虚拟环境中。 建议使用虚拟环境,而不是安装到全局环境中。

    如果收到此对话框,请选择“安装到虚拟环境”选项:

    提示在 Visual Studio 中将所需的包依赖项安装到虚拟环境中的屏幕截图。

    或者,你可能会在 Visual Studio 窗口顶部看到在项目 <Project name>" 中检测到 Python 包规范文件 "requirements.txt" 提示。 此提示指示包依赖项已在配置中可用。 Visual Studio 可以根据现有配置为你创建虚拟环境。

    如果看到此提示,请选择“创建虚拟环境”选项:

    提示指示在 Visual Studio 中检测到项目要求文件的屏幕截图。

  4. Visual Studio 显示“添加环境”对话框。 接受默认值并选择“创建”,然后同意任意升级请求。

    显示如何在 Visual Studio 中为 Flask 项目添加虚拟环境的屏幕截图。

提示

开始一个项目时,强烈建议立即创建虚拟环境,因为大多数 Visual Studio 模板均有此项提示。 在你添加和删除库时,虚拟环境随之保证项目的确切需求。 然后,可轻松生成 requirements.txt 文件。在其他开发计算机上重新安装这些依赖项时使用此文件(因为此时使用源代码管理功能集),将项目部署到生产服务器时也使用此文件。 有关虚拟环境及其优势的详细信息,请参阅使用虚拟环境使用 requirements.txt 管理所需的包

检查样本代码

在本部分中,你将检查 Visual Studio 为选定模板创建的 Flask 项目文件 (.py) 中的样板代码。

  1. 打开解决方案资源管理器以查看解决方案和 Flask 项目文件。 初始项目仅包含两个文件:app.pyrequirements.txt

    显示解决方案资源管理器中初始 Flask 项目文件的屏幕截图。

    requirements.txt 文件指定了 Flask 包依赖项。 该文件旨在邀请你在第一次创建项目时创建虚拟环境。

    单个 app.py 文件包含空白 Flask Web 项目的样板代码。 该模板提供了类似于快速入门 - 使用 Flask 创建 Web 应用一文中描述的代码,只是增加了几个部分。

  2. 在编辑器中打开 app.py 文件,查看顶部部分。

    代码以 Flask 包的 import 语句开头。 此语句创建了一个 Flask 类的实例,该实例分配给变量 app

    from flask import Flask
    app = Flask(__name__)
    

    接下来,代码会分配变量 wsgi_app,这在将 Flask 应用部署到 Web 主机时非常有用:

    # Make the WSGI interface available at the top level so wfastcgi can get it.
    wsgi_app = app.wsgi_app
    
  3. 中间部分为 URL 路由分配一个函数,这意味着该函数提供由 URL 标识的资源。 在本例中,路由定义了一个视图:

    @app.route('/')
    def hello():
        """Renders a sample page."""
        return "Hello World!"
    

    使用 Flask 的 @app.route 装饰器定义路由,其参数是站点根目录中的相对 URL。 正如代码中所示,该函数仅返回文本字符串,已足够浏览器呈现。

  4. 底部部分包含用于启动 Flask 开发服务器的可选代码。 你可以通过环境变量设置主机和端口,而不是对其进行硬编码。 此类代码可让你轻松控制开发和生产计算机上的配置,而无需更改代码:

    if __name__ == '__main__':
        import os
        HOST = os.environ.get('SERVER_HOST', 'localhost')
        try:
            PORT = int(os.environ.get('SERVER_PORT', '5555'))
        except ValueError:
            PORT = 5555
        app.run(HOST, PORT)
    
  5. 选择“调试”>“启动而不调试”,运行 Flask 应用程序并打开浏览器以查看默认主机和端口值 localhost:5555

在 Visual Studio 中探索 Python 模板

安装 Python 工作负载时,Visual Studio 会为 Flask、Bottle 和 Django Web 框架和 Azure 云服务提供各种项目模板。 此外,还有用于不同机器学习场景的模板,以及用于从包含 Python 应用程序的现有文件夹结构中创建项目的模板。 可以使用“文件>“新建”>“项目”菜单选项访问模板。 选择 Python 语言节点及其子节点,以查看可用模板。

Visual Studio 还提供了几个文件或项模板,用于快速创建 Python 类、Python 包、Python 单元测试、web.config 文件等内容。 打开 Python 项目后,可使用“项目”>“添加新项”菜单选项访问项模板。 有关详细信息,请参阅项模板参考。

开始项目或创建文件时,使用模板可节省大量时间。 它们还是一个了解不同应用类型和代码结构的好方法。 最好先花几分钟基于不同模板创建项目和项,熟悉模板的功能。

使用 Cookiecutter 模板

Visual Studio 提供了与 Cookiecutter 的直接集成,可帮助你发现模板、输入模板选项、创建项目和文件。 有关详细信息,请参阅快速入门:从 Cookiecutter 模板创建项目一文。