函式庫
函式庫 #
在本章節中,您將會學習如何使您的函式庫能透過 Poetry 進行安裝。
版本控制 #
對於所有專案,Poetry 都要求必須符合 PEP 440 版本規範。
雖然 Poetry 沒有強制規定採用任何版本的公約,不過在 PEP 440 的範疇內,它向來都鼓勵採用 語意化版本控制,此外,它也支援特別適用於語意化版本控制的 版本約束條件。
鎖定檔 #
您可以選擇提交 poetry.lock
檔,以供您的函式庫在需要時使用。這樣可以協助您的團隊持續測試相同版本的相依性。不過,這個鎖定檔並不會對任何依賴它的專案造成影響。它只會影響主要專案本身。
如果您不想提交鎖定檔,而且您正在使用 git,請將它加入 .gitignore
。
封裝 #
在實際發佈您的函式庫之前,您需要先將它封裝起來。
poetry build
這個指令會將您的函式庫封裝成兩種不同的格式:sdist
(原始碼格式),以及 wheel
(已編譯的套件)。
建立套件時,Poetry 會自動包含一些元資料檔。在建立 wheel
時,以下檔案會包含在 .dist-info
目錄中
LICENSE
LICENSE.*
COPYING
COPYING.*
LICENSES/**
建立 sdist
時,以下檔案會包含在根目錄中
LICENSE*
完成建置後,即可發布程式庫。
發布到 PyPI #
好的,現在你可以發布套件。
Poetry 預設會發布到 PyPI。發布到 PyPI 的所有內容,都可以透過 Poetry 自動取得。由於 pendulum 位於 PyPI,我們可以依賴它,而不用指定任何其他存放庫。
如果我們想和 Python 社群分享 poetry-demo
,我們也可以發布到 PyPI。這非常容易。
poetry publish
這將封裝程式庫並將其發布到 PyPI,前提是你已經註冊成為使用者,並且已 正確設定你的憑證。
publish
指令預設不會執行 build
。
如果你想同時建置和發布你的套件,只需傳遞 --build
選項即可。
完成此步驟後,你的程式庫將對所有人開放。
發布到私人存放庫 #
有時,你可能想讓你的程式庫保持私密性,但團隊成員也能存取。
這種情況下,你必須使用私人存放庫。
要發布到私人存放庫,你需要將其新增到存放庫的全球清單中。有關詳細資訊,請參閱 新增存放庫。
完成此步驟後,你實際上就可以這樣發布到存放庫
poetry publish -r my-repository