使用 Devcontainer 在 VSCode 中进行 Python 开发
使用 Devcontainer 在 VSCode 中进行 Python 开发
在本指南中,我们将引导您完成使用 Visual Studio Code (VSCode) 在基于 Docker 的开发环境中设置和使用 devcontainer-python-template 进行 Python 开发的步骤。此模板允许您快速启动并运行 devcontainer 中的 Python 项目。
您将基于模板创建自己的存储库,而不是直接克隆存储库,这样您就可以将更改推送回您自己的存储库。
1. 从模板创建新存储库
- 转到 devcontainer-python-template 存储库:https://github.com/jdevto/devcontainer-python-template。
- 单击位于存储库页面右上角附近的“使用此模板”按钮。
- 选择创建新存储库。
- 填写存储库详细信息:
- 存储库名称:为您的新项目选择一个名称,例如 python-flask-web-app。
- 描述:(可选)添加存储库的描述。
- 可见性:选择您的存储库是公共还是私有。
- 所有者:(可选)如果您要在组织下创建存储库,请选择适当的所有者(您的帐户或组织)。
- 单击从模板创建存储库。
这将在您的 GitHub 帐户上创建一个新的存储库,并使用 devcontainer-python-template 的内容进行初始化。
2. 在本地克隆您的新存储库
- 现在您已经创建了一个新的存储库,打开 VSCode。
- 将新创建的存储库克隆到本地计算机:
git clone git@github.com:jdevto/python-flask-web-app.git cd python-flask-web-app
创建分支并从中工作始终是最佳实践。
git clone git@github.com:jdevto/python-flask-web-app.git cd python-flask-web-app
3. 在 VSCode 中打开存储库并启动 Devcontainer
- 在 VSCode 中打开存储库:
- 克隆存储库后,在 Visual Studio Code 中打开它。
- 在 VSCode 菜单中,转到活动栏并单击远程资源管理器。
- 选择在容器中重新打开。这将构建并启动 .devcontainer 文件夹中定义的开发容器 (devcontainer)。
- 安装过程中会发生什么:VSCode 将自动:
- 按照 devcontainer.json 配置文件中指定的方式构建 Docker 容器。
- 安装requirements.txt或其他项目文件中列出的任何依赖项(例如Python包)。
- 在容器内干净、隔离的开发环境中打开项目。
- 成功设置的输出:如果 .devcontainer 设置成功,您应该看到类似于以下内容的输出:
git branch dev git checkout dev
-
打开终端:
- 在同一个 VSCode 窗口中关闭并重新打开终端。
- 您应该看到如下提示:
Running the postCreateCommand from devcontainer.json... [7382 ms] Start: Run in container: /bin/sh -c .devcontainer/scripts/postCreate.sh Linux 726a838654fd 6.8.0-49-generic #49~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov 6 17:42:15 UTC 2 x86_64 GNU/Linux Done. Press any key to close the terminal.
登录后复制登录后复制
4. 验证 Python 是否正常工作
继续之前,请确保 Python 在 devcontainer 内正常工作:
- 在 VSCode 中打开集成终端。
- 运行以下命令检查Python版本:
root ➜ /workspaces/python-flask-web-app (main) $
- 您应该看到如下输出:
python --version
5. 运行测试Python脚本
该模板包含一个简单的测试脚本,位于 hello/main.py。运行此脚本来验证设置并确保 Python 正确执行:
- 在终端中,运行测试脚本:
Python 3.12.7
- 预期输出:
python hello/main.py
6. 清理
一旦确认 Python 正在运行并且测试脚本成功运行:
- 删除测试脚本:如果不再需要测试脚本,请删除 hello 目录:
Hello, Devcontainer!
- 根据需要更新许可证文件
7. Flask Web 应用程序开发
- 使用以下内容更新 README.md 文件:
rm -rf hello
-
创建项目目录
- 创建一个文件夹来保存您的项目。
# python-flask-web-app A simple demo showcasing a Python Flask web application running in a VSCode development container. This setup is designed to provide an isolated, portable, and consistent environment for Python development.
登录后复制登录后复制 -
设置虚拟环境
- 设置Python虚拟环境来管理依赖项。
mkdir flask-web-app cd flask-web-app
登录后复制 -
安装 Flask
- 在虚拟环境中安装Flask。
python -m venv venv source venv/bin/activate
登录后复制- 创建一个requirements.txt 文件来跟踪依赖关系。
pip install flask
登录后复制 -
创建应用程序
- 创建app.py 文件。
git clone git@github.com:jdevto/python-flask-web-app.git cd python-flask-web-app
登录后复制登录后复制登录后复制- 使用以下内容更新 app.py 文件:
git branch dev git checkout dev
登录后复制登录后复制 -
运行应用程序
- 运行应用程序以验证设置。
Running the postCreateCommand from devcontainer.json... [7382 ms] Start: Run in container: /bin/sh -c .devcontainer/scripts/postCreate.sh Linux 726a838654fd 6.8.0-49-generic #49~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov 6 17:42:15 UTC 2 x86_64 GNU/Linux Done. Press any key to close the terminal.
登录后复制登录后复制- 您应该看到类似这样的内容:
root ➜ /workspaces/python-flask-web-app (main) $
登录后复制登录后复制- 在浏览器中打开http://127.0.0.1:5000。您应该看到“Hello, World!”。
扩展项目结构
随着应用程序的发展,添加支持模板、静态文件和测试的目录结构。
-
创建以下结构:
python --version
登录后复制登录后复制
Python 3.12.7
-
使用以下内容更新 base.html 文件:
python hello/main.py
登录后复制登录后复制 -
再次运行 Flask 应用
再次运行应用程序以测试更新后的版本。
Hello, Devcontainer!
登录后复制登录后复制 打开浏览器并导航至 http://127.0.0.1:5000。
-
您应该看到类似这样的内容:
rm -rf hello
登录后复制登录后复制- 环境清理 当您完成测试并运行 Flask 应用程序后:
-
停止 Flask 服务器
- 在运行 Flask 应用的终端中按 Ctrl C。这将终止服务器进程。
-
退出开发环境
- 在 VSCode 中,按 Ctrl Shift P(或 macOS 上的 Cmd Shift P)打开命令面板。
- 键入在 SSH 中重新打开文件夹 并选择该选项。这可确保您脱离开发容器并返回本地环境,从而为容器外的任何其他任务实现无缝工作流集成。
8.将分支推送到GitHub
- 执行
# python-flask-web-app A simple demo showcasing a Python Flask web application running in a VSCode development container. This setup is designed to provide an isolated, portable, and consistent environment for Python development.
9. 创建拉取请求 (PR)
导航到 GitHub 上的存储库
- 访问 GitHub 上的存储库。
转到“拉取请求”选项卡
- 单击存储库页面顶部的“拉取请求”选项卡。
创建新的拉取请求
- 点击“新拉取请求”按钮。
选择 PR 分支
- 基础分支:选择要合并到的分支(例如,主分支或生产分支)。
- 比较分支:选择您刚刚推送的分支(例如,dev)。
打开拉取请求创建
- 点击“创建拉取请求”。
查看更改
- 检查提交和更改文件的列表,以确保一切看起来正确。
添加标题和描述
提供简洁且具有描述性的标题(例如,壮举:更新模板开发)。
添加包含任何必要详细信息的描述(例如更改原因、问题参考等)。
完成拉取请求
- 再次点击“创建拉取请求”进行确认。
审核并批准 PR
- 自我审核您的更改或请求队友审核。
合并拉取请求
- 一切看起来都不错后,导航到 PR 并单击“合并拉取请求”。
- 点击“确认合并”确认合并。
以上是使用 Devcontainer 在 VSCode 中进行 Python 开发的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Python在游戏和GUI开发中表现出色。1)游戏开发使用Pygame,提供绘图、音频等功能,适合创建2D游戏。2)GUI开发可选择Tkinter或PyQt,Tkinter简单易用,PyQt功能丰富,适合专业开发。

Python更易学且易用,C 则更强大但复杂。1.Python语法简洁,适合初学者,动态类型和自动内存管理使其易用,但可能导致运行时错误。2.C 提供低级控制和高级特性,适合高性能应用,但学习门槛高,需手动管理内存和类型安全。

要在有限的时间内最大化学习Python的效率,可以使用Python的datetime、time和schedule模块。1.datetime模块用于记录和规划学习时间。2.time模块帮助设置学习和休息时间。3.schedule模块自动化安排每周学习任务。

Python在开发效率上优于C ,但C 在执行性能上更高。1.Python的简洁语法和丰富库提高开发效率。2.C 的编译型特性和硬件控制提升执行性能。选择时需根据项目需求权衡开发速度与执行效率。

pythonlistsarepartofthestAndArdLibrary,herilearRaysarenot.listsarebuilt-In,多功能,和Rused ForStoringCollections,而EasaraySaraySaraySaraysaraySaraySaraysaraySaraysarrayModuleandleandleandlesscommonlyusedDduetolimitedFunctionalityFunctionalityFunctionality。

每天学习Python两个小时是否足够?这取决于你的目标和学习方法。1)制定清晰的学习计划,2)选择合适的学习资源和方法,3)动手实践和复习巩固,可以在这段时间内逐步掌握Python的基本知识和高级功能。

Python在自动化、脚本编写和任务管理中表现出色。1)自动化:通过标准库如os、shutil实现文件备份。2)脚本编写:使用psutil库监控系统资源。3)任务管理:利用schedule库调度任务。Python的易用性和丰富库支持使其在这些领域中成为首选工具。

Python和C 各有优势,选择应基于项目需求。1)Python适合快速开发和数据处理,因其简洁语法和动态类型。2)C 适用于高性能和系统编程,因其静态类型和手动内存管理。
