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"