主要观点:作者通过更新 Python 项目设置知识,介绍了poetry在项目依赖管理中的使用,包括安装、配置、添加依赖等,并对比了与传统方式的差异,还提及了uv以及相关注意事项。
关键信息:
- 安装
poetry需先安装pipx,通过pipx install poetry,安装后要将pipx的bin路径添加到$PATH环境变量中,以使其可在 shell 中使用,同时还可设置 shell 自动补全。 - 对已有项目迁移到
poetry,需使用poetry init初始化配置,可交互式选择添加依赖,设置版本等,若不指定版本会出现选择列表。初始化时可能会出现要求设置默认 keyring 密码的弹窗,可通过设置环境变量或设置密码为空来处理。 - 可设置
virtualenvs.in-project为true,让poetry在项目目录内创建虚拟环境,默认poetry的虚拟环境在~/.cache/pypoetry/virtualenvs下。 - 默认
poetry假设将项目作为包提供在 PyPi 上,若只在应用中使用 PyPi 包,需设置package-mode = false。 - 运行
poetry install可安装上游依赖并生成poetry.lock文件,确保依赖版本可重现。 - 使用
poetry add可方便添加新包,避免手动更新pyproject.toml文件出错。
重要细节: - 示例中创建了名为
poetry-test的项目,展示了pyproject.toml的结构及添加Django和pytest依赖的过程。 - 提到传统项目设置流程,如创建虚拟环境、安装依赖、维护不同用途的 requirements 文件等。
- 作者认为
poetry的主要优势在于改进的依赖管理,避免升级 Python 版本时陷入依赖地狱,且工具配置集中在pyproject.toml文件中,添加依赖更方便。最后作者表示要开始将 legacy Python 项目迁移到poetry。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。