Poetry(2)Poetry的基本使用方式

Silent丿丶黑羽發表於2021-10-21

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"

相關文章