SuperAPI AI 工具集

poetry-rye-dependency-management

编程与开发

查看项目

更新于 10-16 02:36

技能介绍

本技能聚焦 Poetry 与 Rye 两种 Python 依赖管理器,二者均以 pyproject.toml 为单一配置文件,并通过锁文件实现确定性构建。Poetry 自 2018 年起为成熟标准;Rye 是较新的 Astral 工具,可与 uv 衔接。新项目可考虑 uv 原生方案,本技能主要服务已有代码库与已标准化于这些工具的团队。

适用场景包括:维护现有 Poetry/Rye 项目;团队已统一使用 Poetry 且暂无迁移计划;向 PyPI 发布 Python 包(Poetry 发布支持成熟);管理单仓 Python 工作区;审计或升级依赖锁文件。

核心规则:始终提交锁文件(poetry.lock 或 requirements.lock),否则 CI/CD 会解析出与开发环境不同的版本;禁止在受管项目中用 pip install,以免绕过解析器产生锁文件不可见的幽灵依赖;新增依赖须用对应命令,手改 pyproject.toml 后须重新加锁;不要手动固定传递依赖;运行时与开发依赖应分组。

常见反模式:改依赖后不执行加锁导致锁文件过期;CI 中误用可编辑安装;提交 .venv/;混用 pip 与 Poetry;全部使用通配版本约束。

基本用法:Poetry 可用 poetry init、poetry add、poetry add --group dev、poetry install(CI 中加 --no-root,生产可加 --only main);Rye 可用 rye init、rye add、rye add --dev、rye sync。CI 中可安装 Poetry 并配合锁文件缓存、poetry run 执行 lint 与测试。安全审计方面,Poetry 可运行 poetry audit,Rye 可运行 rye run pip-audit。迁移到 uv 时可用 poetry export 导出依赖,再 uv init 与 uv add,最后 uv sync 验证。限制:资料未提供更多版本兼容、性能或价格信息。