首页 后端开发 Python教程 使用 Devcontainer 在 VSCode 中进行 Python 开发

使用 Devcontainer 在 VSCode 中进行 Python 开发

Dec 01, 2024 pm 02:36 PM

Python Development in VSCode Using Devcontainer

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

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

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

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

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

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1668
14
CakePHP 教程
1428
52
Laravel 教程
1329
25
PHP教程
1273
29
C# 教程
1256
24
Python:游戏,Guis等 Python:游戏,Guis等 Apr 13, 2025 am 12:14 AM

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

Python与C:学习曲线和易用性 Python与C:学习曲线和易用性 Apr 19, 2025 am 12:20 AM

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

Python和时间:充分利用您的学习时间 Python和时间:充分利用您的学习时间 Apr 14, 2025 am 12:02 AM

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

Python vs.C:探索性能和效率 Python vs.C:探索性能和效率 Apr 18, 2025 am 12:20 AM

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

Python标准库的哪一部分是:列表或数组? Python标准库的哪一部分是:列表或数组? Apr 27, 2025 am 12:03 AM

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

学习Python:2小时的每日学习是否足够? 学习Python:2小时的每日学习是否足够? Apr 18, 2025 am 12:22 AM

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

Python:自动化,脚本和任务管理 Python:自动化,脚本和任务管理 Apr 16, 2025 am 12:14 AM

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

Python vs. C:了解关键差异 Python vs. C:了解关键差异 Apr 21, 2025 am 12:18 AM

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

See all articles