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

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

先决条件

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

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

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

不支持 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. 片刻之后,Visual Studio 会显示有关如何处理包依赖项的提示。 根据是否已安装包依赖项,提示不同。

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

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

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

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

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

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

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

    显示如何在 Visual Studio 2022 中为 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 模板文章创建项目