Skip to content

Python

使用 Poetry 管理依賴關係以及建置和發布 Python 套件

原文: How to Manage Dependencies and Build & Publish Python Packages using Poetry

本教程涵蓋:

  1. Poetry Installation
  2. Setup project with poetry
  3. A brief introduction to pyproject.toml
  4. Creating a virtual environment with poetry
  5. Dependency management using poetry
  6. Create a Python package
  7. Build a package with Poetry
  8. Publish package with Poetry on PyPI

在建立 Python 套件時,開發人員通常會依賴外部程式庫或不屬於 Python 標準庫的依賴項。手動管理這些第三方函式庫的安裝、卸載或更新是一項繁瑣的任務。這些第三方函式庫具有額外的外部相依性的情況並不罕見,這使得手動管理相依性變得更加複雜。

幸運的是,Python 有依賴管理工具,可以讓第三方函式庫的管理變得更容易。 Poetry 是其中一個值得注意的工具,它不僅有助於依賴管理,還負責創建虛擬環境以及建置和發布 Python 套件。

在本教程中,我們將使用 Poetry 建立、建構和發布一個命令列工具,該工具接收國家/地區名稱作為輸入並輸出其對應的 Alpha3 程式碼。

在 Pycharm 配置 Poetry 環境

原文: Configure a Poetry environment

Poetry 是一個有助於根據專案依賴關係建立 Python 虛擬環境的工具。您可以聲明您的專案所依賴的程式庫,Poetry 將為您安裝和更新它們。

專案依賴項記錄在 pyproject.toml 檔案中,該檔案指定所需的套件、腳本、外掛程式和 URL。有關其結構和格式的更多信息,請參閱 pyproject 參考

要在 PyCharm 中使用 Poetry,您需要將其安裝在您的電腦上並建立特定的 Python 環境。

如何建立第一個 Python 套件並將其上傳到 PyPI

原文: How to Create and Upload Your First Python Package to PyPI

Python package 檔案結構

在開始之前,我們應該知道在 Python 中套件的含義。

Python 套件是一個目錄,其中包含一堆模組以及名為 __init__.py 的依賴檔案。該檔案可以完全為空,您可以使用它來將磁碟上的目錄標記為 Python 套件。

下面顯示了套件目錄的範例:

package/
├── __init__.py
├── module_a.py
├── module_b.py
└── module_c.py

__init__.py 是一個依賴文件,可協助 Python 在套件目錄中尋找可用模組。如果我們刪除這個文件,Python 將無法導入我們的模組。

建立 Python 套件並將其發佈到 PyPI

PyPI 是 Python Package Index 的縮寫,是 Python 程式語言的官方第三方套件儲存庫。它是一個中央儲存庫,託管和分發軟體包供 Python 開發人員使用。

開發人員可以將 Python 套件上傳到 PyPI,其他人可以輕鬆存取這些套件。這些套件可以包括函式庫、框架、實用程式和工具來擴展和增強 Python 的功能。

本文將介紹 PyPI 的優點、套件的元件以及如何建立 PyPI 套件。

什麼是 PyPI?

PyPI 用於尋找和安裝專案的套件。它允許開發人員輕鬆管理依賴項並簡化應用程式的安裝過程。借助 PyPI,他們可以透過重複使用現有程式碼而不是從頭開始編寫所有內容來節省時間和精力。

PyPI 由 Python 軟體基金會 (PSF) 維護,可供開發人員和最終用戶免費使用。它是 Python 生態系統的重要組成部分,為該語言的流行和發展做出了貢獻。

在 Python 中,套件是一種分層組織相關模組、函數和類別的方式。它提供了一種捆綁程式碼的結構化方法,可以將其視為包含一個或多個 Python 模組的目錄。它有助於組織程式碼並使其更易於管理和分發。

Package 通常包含一個 init.py 文件,該文件在導入套件時執行。它可以定義包級屬性、函數和類,可供套件中的其他模組存取。 init.py 檔案也可以包含導入語句以從其他套件導入模組和函數。

可以使用 pip 等套件管理器來安裝和管理 Python 套件,pip 可以自動下載並安裝所需的依賴項。

透過套件,開發人員可以將相關功能封裝到一個單元中,從而更容易重複使用和維護程式碼。例如,流行的 NumPy 套件提供了處理數組和矩陣的功能,而 Pandas 套件提供了用於資料分析和操作的工具。