使用 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中文网其他相关文章!

Python适合数据科学、Web开发和自动化任务,而C 适用于系统编程、游戏开发和嵌入式系统。 Python以简洁和强大的生态系统着称,C 则以高性能和底层控制能力闻名。

2小时内可以学会Python的基本编程概念和技能。1.学习变量和数据类型,2.掌握控制流(条件语句和循环),3.理解函数的定义和使用,4.通过简单示例和代码片段快速上手Python编程。

Python在web开发、数据科学、机器学习、自动化和脚本编写等领域有广泛应用。1)在web开发中,Django和Flask框架简化了开发过程。2)数据科学和机器学习领域,NumPy、Pandas、Scikit-learn和TensorFlow库提供了强大支持。3)自动化和脚本编写方面,Python适用于自动化测试和系统管理等任务。

两小时内可以学到Python的基础知识。1.学习变量和数据类型,2.掌握控制结构如if语句和循环,3.了解函数的定义和使用。这些将帮助你开始编写简单的Python程序。

如何在10小时内教计算机小白编程基础?如果你只有10个小时来教计算机小白一些编程知识,你会选择教些什么�...

使用FiddlerEverywhere进行中间人读取时如何避免被检测到当你使用FiddlerEverywhere...

Python3.6环境下加载Pickle文件报错:ModuleNotFoundError:Nomodulenamed...

如何解决jieba分词在景区评论分析中的问题?当我们在进行景区评论分析时,往往会使用jieba分词工具来处理文�...


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Atom编辑器mac版下载
最流行的的开源编辑器

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。