Poetry
· 3 min read
Poetry
是 Python 的一个现代化 项目管理工具,主要用于:
🚀 简单来说:
Poetry = 管理依赖 + 打包发布 + 虚拟环境管理,一站式搞定!
🧰 它能做什么?
功能 | 描述 |
---|---|
✅ 依赖管理 | 安装、锁定、更新依赖(替代 pip + requirements.txt ) |
✅ 虚拟环境管理 | 自动创建和使用虚拟环境(类似 venv ) |
✅ 项目构建 | 构建发布包(如 wheel、sdist) |
✅ 发布 PyPI | 一键将包发布到 PyPI |
✅ 项目初始化 | 自动创建标准化项目结构(含 pyproject.toml) |
🎯 和传统 pip
+ requirements.txt
有啥区别?
比较项 | pip + requirements.txt | Poetry |
---|---|---|
依赖管理 | 手动写 requirements.txt | 自动记录在 pyproject.toml |
虚拟环境 | 手动 python -m venv | 自动创建和切换 |
锁定依赖 | 无官方标准,需 pip-tools | 内置 poetry.lock |
项目发布 | 手动写 setup.py 等 | 自动生成 |
可维护性 | 难以复现、环境易冲突 | 更干净、更可控 |
🛠️ 使用示例
📦 创建项目
poetry new myproject
会自动生成:
myproject/
├── pyproject.toml ← 项目信息 & 依赖
├── myproject/ ← 源代码
└── tests/ ← 测试代码
📥 安装依赖
poetry add requests
会更新 pyproject.toml
和 poetry.lock
🧪 启动虚拟环境并运行代码
poetry shell # 启动虚拟环境
poetry run python your_script.py # 运行某个脚本
📤 发布项目到 PyPI(高级用法)
poetry build
poetry publish
❤️ 为什么很多人喜欢用它?
- 不再混乱依赖
- 不再手写
setup.py
- 不再手动管理虚拟环境
- 更适合 CI/CD 和团队协作
✅ 总结一句话:
Poetry 是 Python 项目开发的现代化工具链,帮你从创建、开发到发布全流程搞定。