Poetry
定义
Poetry 是 Python 的一个依赖管理和打包工具,旨在简化 Python 项目的依赖管理和发布流程。
核心功能
- 依赖管理:精确控制依赖版本
- 虚拟环境:自动创建和管理虚拟环境
- 锁定文件:pyproject.toml 和 poetry.lock 确保环境可重现
- 打包发布:简化 Python 包的构建和发布
主要命令
# 创建新项目
poetry new my-project
# 初始化现有项目
poetry init
# 添加依赖
poetry add django
poetry add pytest --dev
# 安装依赖
poetry install
# 运行命令
poetry run python manage.py runserver
# 激活虚拟环境
poetry shell
# 更新依赖
poetry update
# 构建包
poetry build
# 发布到 PyPI
poetry publish
pyproject.toml
项目配置文件,包含:
- 项目元数据
- 依赖项定义
- 开发依赖项
- 脚本入口
优势
- 统一的依赖管理方案
- 替代 pip + requirements.txt + setup.py 的组合
- 确定性安装(通过 lock 文件)
- 语义化版本约束
对比
| 特性 | Poetry | pip + venv | Conda |
|---|---|---|---|
| 依赖锁定 | ✅ | ❌ | ✅ |
| 虚拟环境 | ✅ | ✅ | ✅ |
| 打包发布 | ✅ | ❌ | ❌ |
| 解析速度 | 中等 | 快 | 慢 |
相关技术
- Python - 基础语言
- pip - 传统包管理器
- Conda - 数据科学生态的包管理器
录入自: Django开发实践笔记