Poetry的基本使用
準備工作
如果你是在一個已有的專案裡使用Poetry
,你只需要執行 poetry init
命令來建立一個 pyproject.toml
檔案:
poetry init
可看到有很多提示輸入,不確定的內容就先按下Enter使用預設值,後續可以再修改pyproject.toml
檔案。指定依賴的環節可以跳過,手動安裝會更高效一點。
如果你想建立一個新的 Python
專案,使用 poetry new <資料夾名稱>
命令可以建立一個專案模板:
poetry new poetry-demo
這會建立一個這樣的專案結構:
poetry-demo
├── pyproject.toml
├── README.rst
├── poetry_demo
│ └── __init__.py
└── tests
├── __init__.py
└── test_poetry_demo.py
建立虛擬環境
1.使用 poetry install
命令建立虛擬環境(確保當前目錄有 pyproject.toml
檔案):
poetry install
這個命令會讀取 pyproject.toml
中的所有依賴(包括開發依賴)並安裝,如果不想安裝開發依賴,可以附加 --no-dev
選項。如果專案根目錄有 poetry.lock
檔案,會安裝這個檔案中列出的鎖定版本的依賴。
2.使用poetry add
命令建立虛擬環境
poetry add 依賴包名稱
當我們使用add
命令時,沒有檢測到虛擬環境,也會為當前目錄自動建立虛擬環境。
3.利用 poetry env use
建立
這個命令,可以指定建立虛擬環境時使用的Python直譯器版本。
poetry env use python3.7
使用這個命令後,會在虛擬環境路徑下建立一個envs.toml
檔案,用來儲存哪些虛擬環境指定了Python直譯器的版本。
➜ virtualenvs cat envs.toml
[athena-LtyjKFV4]
minor = "3.7"
patch = "3.7.6"
啟用虛擬環境
執行poetry的命令並不需要啟用虛擬環境,因為poetry會自動檢測當前虛擬環境,如果想在當前目錄對應的虛擬環境中執行命令,可以使用以下命令:
poetry run <你的命令> # 例如: poetry run python flask.py
如果想顯示的啟用虛擬環境,使用如下命令:
poetry shell
安裝依賴
安裝最新穩定版本的flask
poetry add flask
指定為開發依賴,會寫到pyproject.toml
中的[tool.poetry.dev-dependencies]
區域
poetry add pytest --dev
指定具體的版本
poetry add flask=2.22.0
安裝pyproject.toml
檔案中的全部依賴
poetry install
只安裝非development
環境的依賴,一般部署時使用
poetry install --no-dev
追蹤 & 更新包
檢視專案安裝的依賴
poetry show
樹形結構檢視專案安裝的依賴
poetry show -t
檢視可以更新的依賴
poetry update
更新所有鎖定版本的依賴
poetry update
如果你想更新某個指定的依賴,傳遞包名作為引數:
poetry update foo
解除安裝包
使用 poetry remove <包名稱>
解除安裝一個包:
poetry remove foo
查詢當前專案的虛擬環境
使用poetry env list
可以檢視當前的虛擬環境
poetry env list
如果想檢視當期虛擬環境的絕對路徑,可以加上--full-path
poetry env list --full-path
刪除虛擬環境路徑
刪除虛擬環境,使用remove命令,指定對應的解析器版本
poetry env remove python2
poetry env remove python3
PyPI 映象源
以使用清華提供的 PyPI 映象源為例,你需要在 pyproject.toml
檔案里加入這部分內容:
[[tool.poetry.source]]
name = "tsinghua"
default = true
url = "https://pypi.tuna.tsinghua.edu.cn/simple"