Mac下使用Poetry安装PyYAML失败问题求助
解决Poetry安装PyYAML 5.4.1时
AttributeError: cython_sources错误 核心原因
PyYAML 5.4.1版本存在PEP 517构建兼容性问题,导致安装失败,且该版本大概率是你的依赖包(比如mlrun、ruamel-yaml等)间接引入的,而非你直接指定。
具体解决步骤
1. 强制指定兼容的PyYAML版本
在pyproject.toml的[tool.poetry.dependencies]中添加明确的PyYAML版本约束,覆盖间接依赖的5.4.1版本:
[tool.poetry.dependencies] # 保留你原有的所有依赖,新增以下行 PyYAML = ">=5.4.2,<7" # 推荐用5.4.2或6.x版本,均支持PEP 517构建
2. 清理Poetry缓存
删除旧的包缓存,避免缓存的损坏包干扰安装:
poetry cache clear pypi --all
3. 增强构建系统依赖
修改[build-system]配置,补充setuptools和wheel,确保构建环境具备足够的工具支持:
[build-system] requires = ["poetry-core", "setuptools>=61.0", "wheel"] build-backend = "poetry.core.masonry.api"
4. 禁用构建隔离(备选方案)
如果上述步骤无效,可临时禁用Poetry的构建隔离模式,使用系统已有的构建工具进行安装:
PYTHON_KEYRING_BACKEND=keyring.backends.null.Keyring poetry install --no-build-isolation
注意:
--no-build-isolation会使用当前环境的依赖进行构建,可能引发其他依赖冲突,仅作为最后尝试的方案。
5. 验证安装
完成上述配置修改后,重新执行安装命令:
poetry install
内容的提问来源于stack exchange,提问作者George Liu
相关产品推荐
相关产品推荐

