跳转至

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 注意事项

  1. 项目使用了 Poetry 的旧版依赖配置方式,poetry.dev-dependencies 部分将在未来版本中被移除
  2. 建议使用 poetry.group.dev.dependencies 替代 poetry.dev-dependencies
  3. 如果不需要安装当前项目,始终使用 --no-root 选项

5. 故障排除

如果遇到类似问题,可以按照以下步骤进行排查:

  1. 检查 pyproject.toml 中的依赖版本
  2. 运行 poetry lock 更新依赖锁文件
  3. 使用 poetry install --no-root 安装依赖
  4. 如果问题仍然存在,可以尝试删除 poetry.lock 文件并重新生成

6. 最佳实践

  1. 定期更新依赖版本以获取最新的安全补丁和功能
  2. 在更新依赖后始终运行 poetry lock 更新锁文件
  3. 使用 --no-root 选项避免不必要的项目安装
  4. 保持 pyproject.toml 文件的整洁和最新状态
回到页面顶部