簡介

簡介 #

Poetry 是 Python 中用來進行相依關係管理封裝的工具。它允許你宣告專案所依賴的函式庫,它會為你管理(安裝/更新)這些函式庫。Poetry 會提供鎖定檔(lock file)以確保安裝時的可重複性,它也能夠建置你的專案以便進行發行。

系統需求 #

Poetry 要求執行 Python 3.8 以上版本。它支援多平台,且目標是讓它在 Linux、macOS 與 Windows 上都能正常運作。

安裝 #

警告
Poetry 應該隨時安裝在專屬的虛擬環境中,以將它與系統其他部分隔離。絕不應安裝在要由 Poetry 管理的專案環境中。這可確保 Poetry 自身的相依關係不會意外升級或解除安裝。(以下每種安裝方式都會確保 Poetry 安裝在隔離的環境中。)此外,安裝 Poetry 的隔離虛擬環境不應啟用以執行 Poetry 命令。
注意事項
如果你檢視的是開發分支的說明文件,你可能希望安裝 Poetry 的預覽版或開發版。請參閱進階的安裝說明,以使用 Poetry 的預覽版或其他版本。

pipx 用於全局安裝 Python CLI 應用程式,同時仍將其隔離在虛擬環境中。當用於安裝 Poetry 時,pipx 將管理升級和解除安裝。

  1. 安裝 pipx

    如果尚未安裝 pipx,您可以在 官方 pipx 安裝說明 中依照任一選項進行操作。任何非遠古版本的 pipx 都能使用。

  2. 安裝 Poetry

    pipx install poetry
    
  3. 手動安裝 Poetry

    注意事項
    如果您只想取得最新版本,並且已按照前一步驟安裝 Poetry,您可以跳過此步驟。此步驟詳細說明此安裝方法的進階用法。例如,從來源安裝 Poetry、同時安裝多個版本等等。

    pipx 可以安裝不同版本的 Poetry,語法與 pip 相同

    pipx install poetry==1.2.0
    

    pipx 也可以平行安裝 Poetry 版本,這使得輕鬆測試替代版本或預發行版本成為可能。每一個版本都會收到獨特的、使用者指定的字尾,這個字尾將用於建立獨特的二進位檔案名稱

    pipx install --suffix=@1.2.0 poetry==1.2.0
    poetry@1.2.0 --version
    
    pipx install --suffix=@preview --pip-args=--pre poetry
    poetry@preview --version
    

    最後,pipx 可以安裝任何有效的 pip 需求規格,這允許從 git 安裝開發版本,甚至允許進行拉取請求的本機測試

    pipx install --suffix @main git+https://github.com/python-poetry/poetry.git@main
    pipx install --suffix @pr1234 git+https://github.com/python-poetry/poetry.git@refs/pull/1234/head
    
  4. 更新 Poetry

    pipx upgrade poetry
    
  5. 解除安裝 Poetry

    pipx uninstall poetry
    

為 Bash、Fish 或 Zsh 啟用標籤完成 #

poetry 支援為 Bash、Fish 和 Zsh 產生完成指令碼。詳情請參閱 `poetry help completions`,但概念非常簡單,只要使用下列其中一個選項即可:

Bash #

poetry completions bash >> ~/.bash_completion

延遲載入 #

poetry completions bash > ${XDG_DATA_HOME:-~/.local/share}/bash-completion/completions/poetry

Fish #

poetry completions fish > ~/.config/fish/completions/poetry.fish

Zsh #

poetry completions zsh > ~/.zfunc/_poetry

如果您尚未新增下列程式碼列,請將它們新增至您的 ~/.zshrc

fpath+=~/.zfunc
autoload -Uz compinit && compinit

Oh My Zsh #

mkdir $ZSH_CUSTOM/plugins/poetry
poetry completions zsh > $ZSH_CUSTOM/plugins/poetry/_poetry

之後您必須將 poetry 新增至 ~/.zshrc中您的外掛程式陣列中

plugins(
	poetry
	...
	)

prezto #

poetry completions zsh > ~/.zprezto/modules/completion/external/src/_poetry
注意事項
您可能需要重新啟動終端機才能套用這些變更。