--- author: deng date: "20250116" category: Note tags: - Python - Poetry - VEnv - Note --- ![cover](resources/poetry.png) - Abstract - 新時代的Python環境管理器,支援Python3.9+、多平台以及[pyproject.toml](https://packaging.python.org/en/latest/guides/writing-pyproject-toml/),功能全面適合管理複雜的開發專案 - Resources - [Installation](https://python-poetry.org/docs/#installation) - Poetry Official Doc - [Python 套件管理器——Poetry 完全入門指南](https://blog.kyomind.tw/python-poetry/) - Code and Me - Commands - 將虛擬環境建立的位置設至專案資料夾內(統一放在專案資料夾內很方便啊!想移除整個環境的話直接把它刪掉就好) - ``poetry config virtualenvs.in-project true`` - 初始化專案並產出pyproject.toml - ``poetry init`` - 創立或進入某個python版本的虛擬環境中(poetry依據python版本切分虛擬環境) - ``poetry env use python3.x`` - 透過pyproject.toml產生poetry.lock環境檔(通常在修改完前者後執行) - ``poetry lock`` - 將poetry.lock環境檔套用至虛擬環境中(實際上安裝套件至venv的部分!) - ``poetry install`` - 輸出requirements.txt 1. 安裝export插件(poetry2.0以上版本需要自己裝) - ``pipx inject poetry poetry-plugin-export`` 2. 執行指令 - ``poetry export --without-hashes --format=requirements.txt > requirements.txt`` - 或 ``poetry export -f requirements.txt --output requirements.txt`` (帶有hash值)