首頁 後端開發 Python教學 如何建置和部署 Python 程式庫

如何建置和部署 Python 程式庫

Jan 22, 2025 am 12:17 AM

在軟體開發中,許多專案涉及使用相同程式碼和邏輯的重複任務。 程式設計師不斷地重寫這些程式碼,導致效率低落。 例如電子郵件驗證或隨機字串產生。

解決方案是將這些程式碼打包到可重複使用的函式庫中。這些庫跨專案安裝和使用,消除了冗餘編碼。 大多數都是開源的並且免費提供。

這是 Python 和 JavaScript 等語言的標準做法。 本教學詳細介紹如何建立 Python 函式庫並將其部署到 PyPI(官方 Python 套件儲存庫)。

專案概覽

本教學將引導您建立和部署與 REST API 互動的開源 Python 函式庫。

Python 庫

該程式庫將包裝 Abstract API 的匯率 REST API。 此 API 提供三個端點:

  • /live:檢索即時匯率。
  • /convert:在貨幣之間轉換金額(例如,5 美元轉換為英鎊)。
  • /historical:擷取指定時間內的歷史匯率。

此程式庫簡化了開發人員的 API 互動。

專案要求

本教學假設您具備 Python 編碼能力,包括物件導向程式設計 (OOP) 和函數使用。 熟悉 Git、GitHub 儲存庫和專案推送也是必要的。

工具和包裝

你需要:

  • Python: 解譯器 (>=3.9)。
  • 請求:用於發出 HTTP 請求。
  • 抽象 API 帳號: 取得 API 金鑰(已提供說明)。
  • Dotenv:用於管理環境變數。
  • 詩: 一個 Python 依賴管理和打包工具。

建立專案

  1. 建立專案目錄:

    mkdir exchangeLibrary
    登入後複製
    登入後複製
    登入後複製
  2. 安裝 virtualenv(如果尚未安裝):

    pip install virtualenv
    登入後複製
    登入後複製
    登入後複製
  3. 導覽至專案目錄:

    cd exchangeLibrary
    登入後複製
    登入後複製
  4. 建立並啟動虛擬環境:

    virtualenv env
    登入後複製
    登入後複製

    啟動(Windows):.envScriptsactivate 啟動(Linux/macOS):source env/bin/activate

  5. 安裝所需的軟體套件:

    pip install requests poetry dotenv
    登入後複製
    登入後複製
  6. 在程式碼編輯器 (PyCharm/VS Code) 中開啟專案。

設定專案資源

  1. 建立 src 目錄: 在內部建立包含 exchange_python__init__.pyexchange.py。 您的結構應類似下圖:

    How to build and deploy a Python library

  2. 建立 test.py 進行單元測試。

  3. 取得您的抽象 API 金鑰: 一個。註冊 Abstract API。 How to build and deploy a Python library b.登入。 c.導覽至匯率 API。 How to build and deploy a Python library d.取得您的主鍵。 How to build and deploy a Python library

  4. 建立 .env 檔案: 新增您的 API 金鑰:

    mkdir exchangeLibrary
    登入後複製
    登入後複製
    登入後複製

    您的結構現在應如下所示:How to build and deploy a Python library

建置 API 包裝器 (exchange.py)

pip install virtualenv
登入後複製
登入後複製
登入後複製

livehistoricalconvert 方法保持原始輸入中的描述。)

測試 API 包裝器 (test.py)

  1. __init__.py:

    cd exchangeLibrary
    登入後複製
    登入後複製
  2. test.py:

    virtualenv env
    登入後複製
    登入後複製
  3. 執行測試:您應該會看到成功的測試結果。 How to build and deploy a Python library

部署專案

  1. 建立.gitignore檔案:新增env.env.

  2. 建立一個README.md檔案。

  3. 建立pyproject.toml:

    pip install requests poetry dotenv
    登入後複製
    登入後複製
  4. 建立 GitHub 儲存庫。

  5. 初始化 Git: git init

  6. 新增遙控器: git remote add origin <your github repo>

  7. 使用您的 GitHub 儲存庫 URL 更新 pyproject.toml

  8. 推送到 GitHub。

部署到 PyPI

  1. 建立 PyPI 帳戶並驗證您的電子郵件。
  2. 設定 2FA。 How to build and deploy a Python library
  3. 產生復原碼。 How to build and deploy a Python library
  4. 使用驗證器應用程式掃描二維碼。 How to build and deploy a Python library
  5. 取得您的 API 令牌。 How to build and deploy a Python library
  6. 建置套件: poetry build
  7. 設定 PyPI 令牌: poetry config pypi-token.pypi <your-api-token>
  8. 發佈: poetry publish

專案維護

更新後,將變更推送到 GitHub、建置 (poetry build) 和重新發布 (poetry publish),根據需要更新 pyproject.toml 中的版本。

安裝與使用

mkdir exchangeLibrary
登入後複製
登入後複製
登入後複製
pip install virtualenv
登入後複製
登入後複製
登入後複製

結論

本教學介紹如何建立 Python 函式庫並將其部署到 PyPI,包括更新和重新發布。 您對開源社群的貢獻有助於改進 Python 開發。

以上是如何建置和部署 Python 程式庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 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)

我如何使用美麗的湯來解析HTML? 我如何使用美麗的湯來解析HTML? Mar 10, 2025 pm 06:54 PM

我如何使用美麗的湯來解析HTML?

python中的圖像過濾 python中的圖像過濾 Mar 03, 2025 am 09:44 AM

python中的圖像過濾

如何使用Python查找文本文件的ZIPF分佈 如何使用Python查找文本文件的ZIPF分佈 Mar 05, 2025 am 09:58 AM

如何使用Python查找文本文件的ZIPF分佈

如何使用Python使用PDF文檔 如何使用Python使用PDF文檔 Mar 02, 2025 am 09:54 AM

如何使用Python使用PDF文檔

如何在django應用程序中使用redis緩存 如何在django應用程序中使用redis緩存 Mar 02, 2025 am 10:10 AM

如何在django應用程序中使用redis緩存

如何使用TensorFlow或Pytorch進行深度學習? 如何使用TensorFlow或Pytorch進行深度學習? Mar 10, 2025 pm 06:52 PM

如何使用TensorFlow或Pytorch進行深度學習?

python對象的序列化和避難所化:第1部分 python對象的序列化和避難所化:第1部分 Mar 08, 2025 am 09:39 AM

python對象的序列化和避難所化:第1部分

如何在Python中實現自己的數據結構 如何在Python中實現自己的數據結構 Mar 03, 2025 am 09:28 AM

如何在Python中實現自己的數據結構

See all articles