亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

首頁 後端開發(fā) Python教學(xué) 使用 Devcontainer 在 VSCode 中進(jìn)行 Python 開發(fā)

使用 Devcontainer 在 VSCode 中進(jìn)行 Python 開發(fā)

Dec 01, 2024 pm 02:36 PM

Python Development in VSCode Using Devcontainer

使用 Devcontainer 在 VSCode 中進(jìn)行 Python 開發(fā)

在本指南中,我們將引導(dǎo)您完成使用 Visual Studio Code (VSCode) 在基於 Docker 的開發(fā)環(huán)境中設(shè)定和使用 devcontainer-python-template 進(jìn)行 Python 開發(fā)的步驟。此範(fàn)本可讓您快速啟動並執(zhí)行 devcontainer 中的 Python 專案。

您將基於範(fàn)本建立自己的儲存庫,而不是直接複製儲存庫,以便您可以將變更推送回您自己的儲存庫。

1. 從範(fàn)本建立新儲存庫

  • 到 devcontainer-python-template 儲存庫:https://github.com/jdevto/devcontainer-python-template。
  • 點選位於儲存庫頁面右上角附近的「使用此範(fàn)本」按鈕。
  • 選擇建立新儲存庫
  • 填寫儲存庫詳細(xì)資料:
    • 儲存庫名稱:為您的新專案選擇名稱,例如 python-flask-web-app。
    • 描述:(可選)新增儲存庫的描述。
    • 可見性:選擇您的儲存庫是公有還是私有。
    • 擁有者:(可選)如果您要在組織下建立儲存庫,請選擇適當(dāng)?shù)膿碛姓撸膸艋蚪M織)。
  • 點選從範(fàn)本建立儲存庫。

這將在您的 GitHub 帳戶上建立一個新的儲存庫,並使用 devcontainer-python-template 的內(nèi)容進(jìn)行初始化。

2. 在本機(jī)複製您的新儲存庫

  • 現(xiàn)在您已經(jīng)建立了一個新的儲存庫,開啟 VSCode。
  • 將新建立的儲存庫複製到本機(jī):
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 選單中,前往活動欄並點選遠(yuǎn)端資源管理器。
    • 選擇在容器中重新開啟。這將建置並啟動 .devcontainer 資料夾中定義的開發(fā)容器 (devcontainer)。
  • 安裝過程中會發(fā)生什麼:VSCode 將自動:
    • 按照 devcontainer.json 設(shè)定檔中指定的方式建置 Docker 容器。
    • 安裝requirements.txt或其他專案檔案中列出的任何相依性(例如Python套件)。
    • 在容器內(nèi)乾淨(jìng)、隔離的開發(fā)環(huán)境中開啟專案。
  • 成功設(shè)定的輸出:如果 .devcontainer 設(shè)定成功,您應(yīng)該會看到類似以下內(nèi)容的輸出:
git branch dev
git checkout dev
  • 開啟終端機(jī):

    • 在同一個 VSCode 視窗中關(guān)閉並重新開啟終端。
    • 您應(yīng)該看到以下提示:
      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 是否正常運(yùn)作

繼續(xù)之前,請確保 Python 在 devcontainer 內(nèi)正常運(yùn)作:

  • 在 VSCode 中開啟整合終端。
  • 執(zhí)行以下指令檢查Python版本:
root ? /workspaces/python-flask-web-app (main) $
  • 您應(yīng)該看到以下輸出:
  python --version

5. 運(yùn)行測試Python腳本

此範(fàn)本包含一個簡單的測試腳本,位於 hello/main.py。執(zhí)行此腳本來驗證設(shè)定並確保 Python 正確執(zhí)行:

  • 在終端機(jī)中,執(zhí)行測試腳本:
  Python 3.12.7
  • 預(yù)期輸出:
  python hello/main.py

6. 清理

一旦確認(rèn) Python 正在運(yùn)行並且測試腳本成功運(yùn)行:

  • 刪除測試腳本:如果不再需要測試腳本,請刪除 hello 目錄:
  Hello, Devcontainer!
  • 依需求更新許可證文件

7. Flask Web 應(yīng)用程式開發(fā)

  • 使用以下內(nèi)容更新 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.
    
  • 設(shè)定虛擬環(huán)境

    • 設(shè)定Python虛擬環(huán)境來管理相依性。
    mkdir flask-web-app
    cd flask-web-app
    
  • 安裝 Flask

    • 在虛擬環(huán)境中安裝Flask。
    python -m venv venv
    source venv/bin/activate
    
    • 建立一個requirements.txt 檔案來追蹤依賴關(guān)係。
    pip install flask
    
  • 建立應(yīng)用程式

    • 建立app.py 檔案。
    git clone git@github.com:jdevto/python-flask-web-app.git
    cd python-flask-web-app
    
    • 使用以下內(nèi)容更新 app.py 檔案:
    git branch dev
    git checkout dev
    
  • 運(yùn)行應(yīng)用程式

    • 運(yùn)行應(yīng)用程式以驗證設(shè)定。
      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.
    
    • 您應(yīng)該會看到類似這樣的內(nèi)容:
    root ? /workspaces/python-flask-web-app (main) $
    
    • 在瀏覽器中開啟http://127.0.0.1:5000。您應(yīng)該會看到“Hello, World!”。
  • 擴(kuò)充項目結(jié)構(gòu)

隨著應(yīng)用程式的發(fā)展,增加支援範(fàn)本、靜態(tài)檔案和測試的目錄結(jié)構(gòu)。

  • 建立以下結(jié)構(gòu):

      python --version
    
  Python 3.12.7
  • 使用以下內(nèi)容更新 base.html 檔案:

      python hello/main.py
    
  • 再次運(yùn)行 Flask 應(yīng)用
    再次運(yùn)行應(yīng)用程式以測試更新後的版本。

      Hello, Devcontainer!
    
  • 開啟瀏覽器並導(dǎo)航至 http://127.0.0.1:5000。

  • 您應(yīng)該會看到類似這樣的內(nèi)容:

      rm -rf hello
    
    • 環(huán)境清理 當(dāng)您完成測試並運(yùn)行 Flask 應(yīng)用程式後:
  • 停止 Flask 伺服器

    • 在執(zhí)行 Flask 應(yīng)用的終端機(jī)中按 Ctrl C。這將終止伺服器進(jìn)程。
  • 退出開發(fā)環(huán)境

    • 在 VSCode 中,按 Ctrl Shift P(或 macOS 上的 Cmd Shift P)開啟指令面板。
    • 鍵入在 SSH 中重新開啟資料夾 並選擇該選項。這可確保您脫離開發(fā)容器並返回本機(jī)環(huán)境,從而為容器外的任何其他任務(wù)實現(xiàn)無縫工作流程整合。

8.將分支推送到GitHub

  • 執(zhí)行
  # 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)

導(dǎo)航到 GitHub 上的儲存庫

  • 存取 GitHub 上的儲存庫。

前往「拉取請求」標(biāo)籤

  • 點選儲存庫頁面頂部的「拉取請求」標(biāo)籤。

建立新的拉取請求

  • 點選「新拉取請求」按鈕。

選擇 PR 分支

  • 基礎(chǔ)分支:選擇要合併到的分支(例如,主分支或生產(chǎn)分支)。
  • 比較分支:選擇您剛剛推送的分支(例如,dev)。

開啟拉取請求建立

  • 點選「建立拉取請求」。

查看更改

  • 檢查提交和更改文件的列表,以確保一切看起來正確。

新增標(biāo)題和描述

  • 提供簡潔且具描述性的標(biāo)題(例如,壯舉:更新範(fàn)本開發(fā))。

  • 新增包含任何必要詳細(xì)資訊的描述(例如更改原因、問題參考等)。

完成拉取請求

  • 再次點選「建立拉取請求」確認(rèn)。

審核並批準(zhǔn) PR

  • 自我審核您的更改或請求隊友審核。

合併拉取請求

  • 一切看起來都不錯後,導(dǎo)覽至 PR 並點擊「合併拉取請求」。
  • 點選「確認(rèn)合併」確認(rèn)合併。

以上是使用 Devcontainer 在 VSCode 中進(jìn)行 Python 開發(fā)的詳細(xì)內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
Python類中的多態(tài)性 Python類中的多態(tài)性 Jul 05, 2025 am 02:58 AM

多態(tài)是Python面向?qū)ο缶幊讨械暮诵母拍睿浮耙环N接口,多種實現(xiàn)”,允許統(tǒng)一處理不同類型的對象。 1.多態(tài)通過方法重寫實現(xiàn),子類可重新定義父類方法,如Animal類的speak()方法在Dog和Cat子類中有不同實現(xiàn)。 2.多態(tài)的實際用途包括簡化代碼結(jié)構(gòu)、增強(qiáng)可擴(kuò)展性,例如圖形繪製程序中統(tǒng)一調(diào)用draw()方法,或遊戲開發(fā)中處理不同角色的共同行為。 3.Python實現(xiàn)多態(tài)需滿足:父類定義方法,子類重寫該方法,但不要求繼承同一父類,只要對象實現(xiàn)相同方法即可,這稱為“鴨子類型”。 4.注意事項包括保持方

解釋Python發(fā)電機(jī)和迭代器。 解釋Python發(fā)電機(jī)和迭代器。 Jul 05, 2025 am 02:55 AM

迭代器是實現(xiàn)__iter__()和__next__()方法的對象,生成器是簡化版的迭代器,通過yield關(guān)鍵字自動實現(xiàn)這些方法。 1.迭代器每次調(diào)用next()返回一個元素,無更多元素時拋出StopIteration異常。 2.生成器通過函數(shù)定義,使用yield按需生成數(shù)據(jù),節(jié)省內(nèi)存且支持無限序列。 3.處理已有集合時用迭代器,動態(tài)生成大數(shù)據(jù)或需惰性求值時用生成器,如讀取大文件時逐行加載。注意:列表等可迭代對像不是迭代器,迭代器到盡頭後需重新創(chuàng)建,生成器只能遍歷一次。

如何處理Python中的API身份驗證 如何處理Python中的API身份驗證 Jul 13, 2025 am 02:22 AM

處理API認(rèn)證的關(guān)鍵在於理解並正確使用認(rèn)證方式。 1.APIKey是最簡單的認(rèn)證方式,通常放在請求頭或URL參數(shù)中;2.BasicAuth使用用戶名和密碼進(jìn)行Base64編碼傳輸,適合內(nèi)部系統(tǒng);3.OAuth2需先通過client_id和client_secret獲取Token,再在請求頭中帶上BearerToken;4.為應(yīng)對Token過期,可封裝Token管理類自動刷新Token;總之,根據(jù)文檔選擇合適方式,並安全存儲密鑰信息是關(guān)鍵。

如何一次迭代兩個列表 如何一次迭代兩個列表 Jul 09, 2025 am 01:13 AM

在Python中同時遍歷兩個列表的常用方法是使用zip()函數(shù),它會按順序配對多個列表並以最短為準(zhǔn);若列表長度不一致,可使用itertools.zip_longest()以最長為準(zhǔn)並填充缺失值;結(jié)合enumerate()可同時獲取索引。 1.zip()簡潔實用,適合成對數(shù)據(jù)迭代;2.zip_longest()處理不一致長度時可填充默認(rèn)值;3.enumerate(zip())可在遍歷時獲取索引,滿足多種複雜場景需求。

什麼是Python迭代器? 什麼是Python迭代器? Jul 08, 2025 am 02:56 AM

Inpython,IteratorSareObjectSthallowloopingThroughCollectionsByImplementing_iter __()和__next __()。 1)iteratorsWiaTheIteratorProtocol,使用__ITER __()toreTurnterateratoratoranteratoratoranteratoratorAnterAnteratoratorant antheittheext__()

解釋Python斷言。 解釋Python斷言。 Jul 07, 2025 am 12:14 AM

Assert是Python用於調(diào)試的斷言工具,當(dāng)條件不滿足時拋出AssertionError。其語法為assert條件加可選錯誤信息,適用於內(nèi)部邏輯驗證如參數(shù)檢查、狀態(tài)確認(rèn)等,但不能用於安全或用戶輸入檢查,且應(yīng)配合清晰提示信息使用,僅限開發(fā)階段輔助調(diào)試而非替代異常處理。

什麼是Python型提示? 什麼是Python型提示? Jul 07, 2025 am 02:55 AM

typeHintsInpyThonsolverbromblemboyofambiguityandPotentialBugSindyNamalytyCodeByallowingDevelopsosteSpecefectifyExpectedTypes.theyenhancereadability,enablellybugdetection,andimprovetool.typehintsupport.typehintsareadsareadsareadsareadsareadsareadsareadsareadsareaddedusidocolon(

Python Fastapi教程 Python Fastapi教程 Jul 12, 2025 am 02:42 AM

要使用Python創(chuàng)建現(xiàn)代高效的API,推薦使用FastAPI;其基於標(biāo)準(zhǔn)Python類型提示,可自動生成文檔,性能優(yōu)越。安裝FastAPI和ASGI服務(wù)器uvicorn後,即可編寫接口代碼。通過定義路由、編寫處理函數(shù)並返回數(shù)據(jù),可以快速構(gòu)建API。 FastAPI支持多種HTTP方法,並提供自動生成的SwaggerUI和ReDoc文檔系統(tǒng)。 URL參數(shù)可通過路徑定義捕獲,查詢參數(shù)則通過函數(shù)參數(shù)設(shè)置默認(rèn)值實現(xiàn)。合理使用Pydantic模型有助於提升開發(fā)效率和準(zhǔn)確性。

See all articles