特点

  • Python 的现代依赖管理和打包工具
  • 统一管理依赖、虚拟环境和打包发布
  • 使用 pyproject.toml 作为唯一配置文件
  • 锁定文件确保环境可复现
  • 比 pip + venv 更简洁的工作流

配置文件

poetry config virtualenvs.in-project true

一般语法

# 初始化项目
poetry init
# 安装环境
poetry install
# 添加包
poetry add [package]
poetry add [package] --dev
poetry add [package] --D
# 删除包
poetry remove [package]
# 更新包
poetry update
# 使用环境
poetry env use [python命令]
poetry env info
# 查看配置
poetry config --list
# 查看包
poetry show

导出 requirements.txt

安装插件

# 安装插件的一般语法
pipx inject poetry poetry-plugin
# 此处我们安装
pipx inject poetry-plugin-export
# 导出
poetry export -f requirements.txt --output requirements.txt
# 或者这个🌟推荐这个!
poetry export --without-hashes --without dev -f requirements.txt -o requirements.txt
# 或者这个
poetry export --without-hashes --format=requirements.txt > requirements.txt

版本管理

# ^
poetry add django@^4.2.9 包含 4.x.x
poetry add django@~4.2.9 包含 4.2.x
poetry add "django>=4.2.9" 无上限
poetry add django==4.2.9 固定版本
 

poetry 将包安装在哪里

使用 poetry config --list 查看
$env:APPDATA\pypoetry\venv\Lib\site-packages

参考资料