使用Poetry管理Python項目

Poetry 命令

Poetry version 1.1.11

# 從requirements.txt導入依賴
cat requirements.txt | grep -E '^[^# ]' | cut -d= -f1 | xargs -n 1 poetry add

# 導出依賴到requirements.txt (帶hash)
poetry export --output requirements.txt
# 導出依賴到requirements.txt (不帶hash)
poetry export --without-hashes -f requirements.txt --output requirements.txt

# 刪除虛擬環境
poetry env remove python3

# 安裝所有依賴
poetry install
# 僅安裝非 development 環境的依賴,一般部署時使用
poetry install --no-dev

# 安裝依賴
poetry add <pkg> [--dev]

# 移除依賴
poetry remove <pkg>

# 更新所有鎖定版本的依賴
poetry update
# 更新指定的依賴
poetry update <pkg>

# 激活虛擬環境
poetry shell
# 退出虛擬環境
exit

# 創建新項目
poetry new <project_name>

# 在已有項目中使用 poetry
poetry init

# 追蹤&更新包
poetry show
# 添加--tree 參數選項可以查看依賴關係
poetry show --tree
# 查看可以更新的依賴
poetry show --outdated

poetry config

配置一些 poetry 的默認行爲

  1. 設置虛擬環境默認安裝到項目的 .venv 目錄裏:

    poetry config virtualenvs.in-project true
    
  2. 部署時先使用以下命令可以使所有的包安裝到系統中,而不是虛擬環境裏

    poetry config virtualenvs.create false --local
    

使用Pypi鏡像

通過在 pyproject.toml 中配置源可以使 poetry 從指定的 PyPi 鏡像中拉取代碼。注意 default = true 是必須的,否則 poetry 仍然會從默認源拉取哈希值。

[[tool.poetry.source]]
name = "tsinghua"
default = true
url = "https://pypi.tuna.tsinghua.edu.cn/simple"

poetry本地調試包

cd .dist/
poetry run pip3 install *.whl
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章