python - 如何在 Python Poetry 中指定对操作系统的依赖关系?

标签 python operating-system dependencies markers python-poetry

如果我想开发一个仅适用于 Linux 和 macOS 的 Python 包。如何在 Python Poetry 中指定此限制?

最佳答案

Trove classifiers pyproject.toml 文件中的可用于指定支持哪些操作系统。对于 Linux 和 MacOS,这将是:

[tool.poetry]
classifiers = [
    "Operating System :: MacOS",
    "Operating System :: POSIX :: Linux"
]

但是,当使用 poetry install 命令时,这不会阻止诗歌尝试在其他平台上安装软件包。 GitHub issue #2051 中建议支持特定于平台的轮子标签,位于 to do list for poetry's 1.2 release在撰写本文时。

要指定将软件包安装在哪个平台上作为另一个诗歌项目的依赖项,environment markers可以使用:

[tool.poetry.dependencies]
yourpackage = {version = "*", markers = "sys_platform == 'linux' or sys_platform == 'darwin'"}
poetry install 在其他平台上使用时,

Poetry 将忽略 yourpackage,但不会给出任何错误。如果是硬依赖,最好在别处指明支持哪些平台。

关于python - 如何在 Python Poetry 中指定对操作系统的依赖关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64094979/

相关文章:

python - 如何在 Django 1.8 中使用 jinja2 作为模板引擎

python - 对于 Linux 新用户来说,在 python 中获取登录名的简单方法是什么?

netbeans - 如何在终端窗口上获取 Netbeans 输出?

linux - 操作系统是否首先读取 block 以写入 block 设备?

java - 循环 EJB 依赖项的缺点?

java - Heroku Play框架2 sbt依赖项缓存

python - 如何在 Pandas 重新采样中包含字符串

python - 将方法参数传递给其父类构造函数(Flask -- ModelView.as_view())

python - numpy.random.seed 是否使结果固定在不同的计算机上?

maven - 从命令行设置依赖项的版本