适用范围:
Visual Studio
Visual Studio for Mac
Visual Studio Code
在 5-10 分钟介绍“用作 Python IDE 的 Visual Studio”的简介中,你将基于 Flask 框架创建一个简单的 Python Web 应用程序。 你将通过介绍 Visual Studio 基本功能的单独步骤创建项目。
如果尚未安装 Visual Studio,请转到
Visual Studio 下载
页免费安装。 在安装程序中,请确保选择“Python 开发”工作负荷 。
如果尚未安装 Visual Studio,请转到
Visual Studio 下载
页免费安装。 在 Visual Studio 安装程序中选择“Python 开发”工作负载,并在安装详细信息中选择“Python Web 支持” 。
以下步骤创建一个作为应用程序容器的空项目:
打开 Visual Studio 2019。
在开始屏幕上,选择“创建新项目” 。
在“创建新项目”对话框中,在顶部的搜索字段中输入“Python web”,在中间列表中选择“Web 项目”,然后选择“下一步” :
如果未看到 Python 项目模板,请运行“Visual Studio 安装程序”,选择“更多”>“修改”,选择“Python 开发”工作负载,然后选择“修改”。
在接下来的“配置新项目”对话框中,输入“HelloPython”作为项目名称,指定一个位置,然后选择“创建” 。 (解决方案名称自动设置为匹配项目名称。 )
新项目在“解决方案资源管理器” 的右窗格中打开。 项目此时已为空,因为它不含其他文件。
在“创建新项目”对话框顶部的搜索字段中输入“Python web”。 从列表中选择“Web 项目”,然后选择“下一步” :
如果未看到 Python Web 项目模板,请选择“工具”>“获取工具和功能”以运行 Visual Studio 安装程序 。 在安装程序中选择“Python 开发”工作负载,并在“安装详细信息”下选择“Python Web 支持” 。 然后选择“修改”。
在“配置新项目”对话框中输入“HelloPython”作为项目名称,指定一个位置,然后选择“创建” 。 “解决方案名称”会自动更新,以便与“项目名称”匹配 。
新项目在“解决方案资源管理器” 的右窗格中打开。 项目此时已为空,因为它不含其他文件。
问:在 Visual Studio 中为 Python 应用程序创建项目有何优势?
答:通常只使用文件夹和文件来定义 Python 应用程序,但随着应用程序变大,这种简单的结构可能会变得难于负担。 应用程序可能涉及到自动生成的文件、适用于 Web 应用程序的 JavaScript 和其他组件。 Visual Studio 项目帮助管理复杂性问题。
项目(一个 .rxproj 文件)可以识别与项目关联的所有源文件和内容文件。 该 .pyproj 文件还包含每个文件的生成信息,会维护要与源代码管理系统集成的信息,并且帮助你将应用程序组织成逻辑组件。
问:解决方案资源管理器中显示的“解决方案”是指什么?
答:Visual Studio 解决方案是一个容器,可帮助你将一个或多个相关项目作为一个组进行管理。 该解决方案将存储不特定于某一项目的配置设置。 解决方案中的项目还可相互引用。 例如,运行一个 Python 应用项目可自动生成另一个项目,例如 Python 应用使用的 C++ 扩展。
安装 Flask 库
Python 中的 Web 应用几乎总是使用众多可用 Python 库中的一个来处理低级别详细信息,如路由 Web 请求和调整响应。 Visual Studio 为 Web 应用提供许多模板。 稍后你将在本快速入门中使用其中的一个模板。
使用以下步骤将 Flask 库安装到 Visual Studio 用于此项目的默认全局环境。
展开项目中的“Python 环境” 节点,查看项目的默认环境。
右键单击环境并选择“管理 Python 包...” 。此命令将打开“包 (PyPI)”选项卡上的“Python 环境”窗口 。
在搜索字段中输入"flask"。 如果 Flask 出现在搜索框下方,可跳过此步骤 。 否则选择“运行命令: pip install flask” 。 接受任何管理员权限提示,查看 Visual Studio 中的“输出” 窗口了解进度。 (当全局环境的包文件夹位于类似于 C:\Program Files 这样的受保护区域时,会出现提升提示。)
右键单击该环境并选择“管理 Python 包”。 此命令将打开“包 (PyPI)”选项卡上的“Python 环境”窗口
。
在搜索字段中输入"flask"。 如果 Flask 出现在搜索框下方,可跳过此步骤 。 否则请选择“运行命令: pip install flask”。
如果全局环境包文件夹位于受保护区域(例如 C:\Program Files)中,则会出现权限提升的提示。 接受任何有关管理员权限的提示。 在 Visual Studio 的“输出”窗口中观察进度。
安装完成后,该库将显示在“解决方案资源管理器”的环境中,这意味着可以在 Python 代码中使用它。
开发人员通常会创建一个虚拟环境用于安装特定项目的库,而不是在全局环境中安装库。 Visual Studio 模板通常会提供此选项,如
快速入门 - 使用模板创建 Python 项目
中所述。
问:我可在何处深入了解其他可用的 Python 包?
答
:请访问
Python 包索引
。
添加代码文件
现已准备好添加一点 Python 代码来实现最小的 Web 应用。
在“解决方案资源管理器”中右键单击该项目,然后选择“添加”>“新建项”。
在出现的对话框中,选择“空 Python 文件” ,将其命名为 app.py ,然后选择“添加” 。 Visual Studio 会自动在编辑器窗口中打开该文件。
复制以下代码,并将其粘贴到 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)
在“解决方案资源管理器”中右键单击该项目,然后选择“添加”>“新建项”。
在出现的对话框中选择“空白”。 输入“app.py”作为“名称”,然后选择“添加”。 Visual Studio 会自动在编辑器窗口中打开该文件。
复制以下代码,并将其粘贴到 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)
你可能已注意到,“添加”>“新建项”对话框显示了很多可添加到 Python 项目的其他类型的文件,例如 Python 类、Python 包、Python 单元测试和 web.config 文件等 。 一般情况下,这些项模板非常适合用于通过有用的样板代码快速创建文件。
问:我可在何处了解 Flask 的详细信息?
答:请参阅 Flask 文档,首先是 Flask 快速入门。
运行此应用程序
在“解决方案资源管理器”中右键单击“app.py”,然后从下拉菜单中选择“设置为启动文件”。 此命令可标识运行应用时要在 Python 中启动的代码文件。
右键单击“解决方案资源管理器”中的项目,再选择“属性” 。 从“属性”菜单中选择“调试”选项卡,将“端口号”属性设置为 4449
。 此设置可确保 Visual Studio 通过 localhost:4449
启动浏览器,以匹配代码中的 app.run
参数。
选择“调试”>“开始执行(不调试)”或按 Ctrl+F5,这会将更改保存到文件并运行应用 。
此时会出现一个命令窗口,并显示消息“在 https://localhost:4449 中运行”。 浏览器窗口中会打开 localhost:4449
并显示消息“Hello, Python!”状态为 200
的 GET
请求也会显示在命令窗口中。
如果浏览器未自动打开,请启动你选择的浏览器并导航到 localhost:4449
。
如果只在命令窗口中看到 Python 交互式 shell,或者该窗口在屏幕上短暂闪现,请确保已将 app.py 设置为启动文件。
导航到 localhost:4449/hello
,测试确保 /hello
资源的修饰器也正常运行。 同样,状态为 200
的 GET
请求会显示在命令窗口中。 尝试其他一些 URL,查看它们是否在命令窗口中显示 404
状态代码。
关闭命令窗口以停止应用,然后关闭浏览器窗口。
问:“开始执行(不调试)”命令和“开始调试”命令有何区别?
答:使用“开始调试”会在 Visual Studio 调试器的上下文中运行应用 。 使用调试器可以设置断点、检查变量和逐行单步执行代码。 由于用于实现调试的挂钩,应用在调试器中的运行速度可能会较慢。
“开始执行(不调试)”则是直接运行应用(就像从命令行运行应用一样),而不是使用调试上下文。 “开始执行(不调试)”还会自动启动浏览器,并导航到项目属性的“调试”选项卡中指定的 URL 。
祝贺你从 Visual Studio 运行了第一个 Python 应用。 你已初步了解如何将 Visual Studio 用作 Python IDE!
此快速入门中的步骤比较笼统,你可能已猜到它们可以且应当自动执行。 此类自动化由 Visual Studio 项目模板执行。 浏览快速入门 - 使用模板创建 Python 项目,通过更少的步骤创建一个与本文中的 Web 应用类似的 Web 应用。
若要继续在 Visual Studio 中了解更完整的 Python 教程(包括使用交互式窗口、调试、数据可视化效果以及使用 Git),请参阅教程:Visual Studio 中的 Python 入门。
若要了解更多 Visual Studio 产品,请选择以下链接。
了解 Visual Studio 中的 Python Web 应用模板。
了解 Python 调试
总括性地了解 Visual Studio IDE 的详细信息。