Poetry 环境配置指南¶
本文档详细记录了如何配置和解决 Poetry 环境中的依赖问题。
版本¶
- (Poetry version 2.1.1)
- Python 3.13.2
1. 初始问题¶
在安装依赖时遇到 PyYAML 5.4 版本的构建问题,错误信息显示与当前 Python 环境存在兼容性问题。
2. 解决方案¶
2.1 更新 PyYAML 版本¶
在 pyproject.toml
文件中,将 PyYAML 的版本从 5.4 更新到最新的稳定版本 6.0.1:
[tool.poetry.dependencies]
python = ">=3.6.2,<4.0"
pyaml = "^19.4"
PyYAML = "^6.0.1" # 更新这一行
packaging = "^21.3"
2.2 更新依赖锁文件¶
运行以下命令更新 poetry.lock
文件:
poetry lock
2.3 安装依赖¶
由于项目结构特殊,使用 --no-root
选项安装依赖,避免尝试安装当前项目:
poetry install --no-root
3. 项目依赖说明¶
当前项目的依赖配置如下:
3.1 主要依赖¶
- Python: >=3.6.2,<4.0
- pyaml: ^19.4
- PyYAML: ^6.0.1
- packaging: ^21.3
3.2 开发依赖¶
- flake8: ^3.7
- pre-commit: ^2.14.1
- black: ^21.8b0
4. 使用说明¶
4.1 运行项目脚本¶
要运行项目中的 Python 脚本,使用以下命令:
poetry run python <script.py>
4.2 注意事项¶
- 项目使用了 Poetry 的旧版依赖配置方式,
poetry.dev-dependencies
部分将在未来版本中被移除 - 建议使用
poetry.group.dev.dependencies
替代poetry.dev-dependencies
- 如果不需要安装当前项目,始终使用
--no-root
选项
5. 故障排除¶
如果遇到类似问题,可以按照以下步骤进行排查:
- 检查
pyproject.toml
中的依赖版本 - 运行
poetry lock
更新依赖锁文件 - 使用
poetry install --no-root
安装依赖 - 如果问题仍然存在,可以尝试删除
poetry.lock
文件并重新生成
6. 最佳实践¶
- 定期更新依赖版本以获取最新的安全补丁和功能
- 在更新依赖后始终运行
poetry lock
更新锁文件 - 使用
--no-root
选项避免不必要的项目安装 - 保持
pyproject.toml
文件的整洁和最新状态