在軟體開發中,許多專案涉及使用相同程式碼和邏輯的重複任務。 程式設計師不斷地重寫這些程式碼,導致效率低落。 例如電子郵件驗證或隨機字串產生。
解決方案是將這些程式碼打包到可重複使用的函式庫中。這些庫跨專案安裝和使用,消除了冗餘編碼。 大多數都是開源的並且免費提供。
這是 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 依賴管理和打包工具。
建立專案
-
建立專案目錄:
mkdir exchangeLibrary
-
安裝 virtualenv(如果尚未安裝):
pip install virtualenv
-
導覽至專案目錄:
cd exchangeLibrary
-
建立並啟動虛擬環境:
virtualenv env
啟動(Windows):
.envScriptsactivate
啟動(Linux/macOS):source env/bin/activate
-
安裝所需的軟體套件:
pip install requests poetry dotenv
-
在程式碼編輯器 (PyCharm/VS Code) 中開啟專案。
設定專案資源
-
建立
src
目錄: 在內部建立包含exchange_python
和__init__.py
的exchange.py
。 您的結構應類似下圖: -
建立
test.py
進行單元測試。 -
取得您的抽象 API 金鑰: 一個。註冊 Abstract API。
b.登入。 c.導覽至匯率 API。
d.取得您的主鍵。
-
建立
.env
檔案: 新增您的 API 金鑰:mkdir exchangeLibrary
您的結構現在應如下所示:
建置 API 包裝器 (exchange.py
)
pip install virtualenv
(live
、historical
和 convert
方法保持原始輸入中的描述。)
測試 API 包裝器 (test.py
)
-
__init__.py
:cd exchangeLibrary
-
test.py
:virtualenv env
-
執行測試:您應該會看到成功的測試結果。
部署專案
-
建立
.gitignore
檔案:新增env
、.env
. -
建立一個
README.md
檔案。 -
建立
pyproject.toml
:pip install requests poetry dotenv
-
建立 GitHub 儲存庫。
-
初始化 Git:
git init
-
新增遙控器:
git remote add origin <your github repo></your>
-
使用您的 GitHub 儲存庫 URL 更新
pyproject.toml
。 -
推送到 GitHub。
部署到 PyPI
- 建立 PyPI 帳戶並驗證您的電子郵件。
-
設定 2FA。
-
產生復原碼。
-
使用驗證器應用程式掃描二維碼。
-
取得您的 API 令牌。
-
建置套件:
poetry build
-
設定 PyPI 令牌:
poetry config pypi-token.pypi <your-api-token></your-api-token>
-
發佈:
poetry publish
專案維護
更新後,將變更推送到 GitHub、建置 (poetry build
) 和重新發布 (poetry publish
),根據需要更新 pyproject.toml
中的版本。
安裝與使用
mkdir exchangeLibrary
pip install virtualenv
結論
本教學介紹如何建立 Python 函式庫並將其部署到 PyPI,包括更新和重新發布。 您對開源社群的貢獻有助於改進 Python 開發。
以上是如何建置和部署 Python 程式庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本教程演示如何使用Python處理Zipf定律這一統計概念,並展示Python在處理該定律時讀取和排序大型文本文件的效率。 您可能想知道Zipf分佈這個術語是什麼意思。要理解這個術語,我們首先需要定義Zipf定律。別擔心,我會盡量簡化說明。 Zipf定律 Zipf定律簡單來說就是:在一個大型自然語言語料庫中,最頻繁出現的詞的出現頻率大約是第二頻繁詞的兩倍,是第三頻繁詞的三倍,是第四頻繁詞的四倍,以此類推。 讓我們來看一個例子。如果您查看美國英語的Brown語料庫,您會注意到最頻繁出現的詞是“th

本文解釋瞭如何使用美麗的湯庫來解析html。 它詳細介紹了常見方法,例如find(),find_all(),select()和get_text(),以用於數據提取,處理不同的HTML結構和錯誤以及替代方案(SEL)

處理嘈雜的圖像是一個常見的問題,尤其是手機或低分辨率攝像頭照片。 本教程使用OpenCV探索Python中的圖像過濾技術來解決此問題。 圖像過濾:功能強大的工具圖像過濾器

PDF 文件因其跨平台兼容性而廣受歡迎,內容和佈局在不同操作系統、閱讀設備和軟件上保持一致。然而,與 Python 處理純文本文件不同,PDF 文件是二進製文件,結構更複雜,包含字體、顏色和圖像等元素。 幸運的是,借助 Python 的外部模塊,處理 PDF 文件並非難事。本文將使用 PyPDF2 模塊演示如何打開 PDF 文件、打印頁面和提取文本。關於 PDF 文件的創建和編輯,請參考我的另一篇教程。 準備工作 核心在於使用外部模塊 PyPDF2。首先,使用 pip 安裝它: pip 是 P

本教程演示瞭如何利用Redis緩存以提高Python應用程序的性能,特別是在Django框架內。 我們將介紹REDIS安裝,Django配置和性能比較,以突出顯示BENE

本文比較了Tensorflow和Pytorch的深度學習。 它詳細介紹了所涉及的步驟:數據準備,模型構建,培訓,評估和部署。 框架之間的關鍵差異,特別是關於計算刻度的

Python是數據科學和處理的最愛,為高性能計算提供了豐富的生態系統。但是,Python中的並行編程提出了獨特的挑戰。本教程探討了這些挑戰,重點是全球解釋

本教程演示了在Python 3中創建自定義管道數據結構,利用類和操作員超載以增強功能。 管道的靈活性在於它能夠將一系列函數應用於數據集的能力,GE


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3 Linux新版
SublimeText3 Linux最新版

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

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具