2.3 KiB
2.3 KiB
author | date | category | tags | ||||
---|---|---|---|---|---|---|---|
deng | 20250116 | Note |
|
- Abstract
- 新時代的Python環境管理器,支援Python3.9+、多平台以及pyproject.toml,功能全面適合管理複雜的開發專案
- Resources
- Installation - Poetry Official Doc
- Python 套件管理器——Poetry 完全入門指南 - Code and Me
- Commands
- 將虛擬環境建立的位置設至專案資料夾內(統一放在專案資料夾內很方便啊!想移除整個環境的話直接把它刪掉就好)
poetry config virtualenvs.in-project true
- 初始化專案並提供互動式介面協助產出pyproject.toml
poetry init
- 創立某個python版本的虛擬環境(poetry依據python版本切分虛擬環境)
poetry env use python3.x
- 新增套件(可以套用extra及version,例如"requests[security,socks]~=2.22.0")
poetry add [package_name]
- 更新套件
poetry update [package_name]
- 移除套件(沒有被其他套件依賴的依賴套件也一併會被移除)
poetry remove [package_name]
- 透過pyproject.toml產生poetry.lock環境檔(通常在修改完前者後執行)
poetry lock
- 將poetry.lock環境檔套用至虛擬環境中(實際上安裝套件至venv的部分!)
poetry install
- 產生進入虛擬環境的指令(不像conda那樣直接進入虛擬環境,而是會產生類似
source .venv/bin/activate
的指令)poetry env activate
- 輸出requirements.txt檔
- 安裝export插件(poetry2.0以上版本需要自己裝)
pipx inject poetry poetry-plugin-export
- 執行指令
poetry export --without-hashes --format=requirements.txt > requirements.txt
- 或
poetry export -f requirements.txt --output requirements.txt
(帶有hash值)
- 安裝export插件(poetry2.0以上版本需要自己裝)
- 秀出環境的套件以及其依賴套件(會繃出一棵很美的樹喔!)
poetry show --tree
- 打包並發布專案(可以先加上
--dry-run
進行測試)poetry publish --repository [repo_name] --username [user_name] --password [password] --build --skip-existing
- 將虛擬環境建立的位置設至專案資料夾內(統一放在專案資料夾內很方便啊!想移除整個環境的話直接把它刪掉就好)