
在 Python 项目开发中,尤其是在使用 Poetry 进行依赖管理时,经常会遇到需要为特定操作系统安装依赖的情况。例如,某个库可能只在 Windows 环境下可用,或者其功能仅在 Windows 上有意义。Poetry 提供了 --platform 参数来指定依赖的安装平台。
然而,在使用 distutils.util.get_platform() 获取平台标识时,Windows 系统通常返回如 win-amd64 这样的具体架构信息。这与 Linux 的 linux 或 macOS 的 darwin 等通用标识符不同,导致开发者困惑于如何指定一个能够覆盖所有 Windows 版本的通用平台标识符,而不是仅仅针对 win-amd64。
经过实践验证,Poetry 识别 win32 作为通用的 Windows 平台标识符,即使目标系统是 64 位 Windows。这意味着,当您希望某个依赖仅在任何 Windows 系统上安装时,应使用 --platform=win32 参数。
示例命令:
要将 your-package 依赖仅添加到 Windows 系统中,请执行以下 Poetry 命令:
poetry add your-package --platform=win32
执行此命令后,Poetry 会将 your-package 添加到项目的 pyproject.toml 文件中,并为其自动添加 platform = "win32" 环境标记。
pyproject.toml 中的体现:
在 pyproject.toml 文件中,该依赖的配置将类似于:
[tool.poetry.dependencies]
python = "^3.8"
your-package = { version = "^1.0.0", platform = "win32" }这里的 platform = "win32" 是一个 PEP 508 环境标记(Environment Marker)。当 Poetry 解析 pyproject.toml 并安装依赖时,它会根据当前运行环境的平台信息评估这些标记。如果当前环境是 Windows(无论是 32 位还是 64 位),则 win32 标记为真,your-package 将被安装;否则,该依赖将被跳过。
在 Poetry 项目中,若要确保某个依赖仅在 Windows 操作系统上安装,最有效且推荐的方法是使用 poetry add --platform=win32 命令。Poetry 会将 win32 识别为通用的 Windows 平台标识符,并相应地在 pyproject.toml 中配置环境标记。这一方法简单直观,能够有效解决跨平台依赖管理的特定需求,确保项目依赖的正确性和环境的整洁性。
以上就是Poetry 项目中如何确保依赖仅在 Windows 系统上安装的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号