15

pip 的 requirements.txt 文件中是否可以有操作系统特定的要求?

例如:我依赖于readline,因此,如果安装在 Windows(或 OSX)上,那么pyreadline是必需的。如果是 linux,那么我不想强制安装。

4

2 回答 2

19

您可以使用PEP-508中指定的“环境标记”来执行此操作:

这是在 a 中使用此类标记的示例requirements.txt

pyreadline==2.1; platform_system == "Windows"

同样,在 a 中setup.py

setup(
    ...
    install_requires=['pyreadline; platform_system == "Windows"'],
)
于 2019-01-20T21:52:21.710 回答
4

最后,在 setup.py 中添加操作系统检查是我发现其他人使用的。前任:

install_requires = [
        "parsedatetime >= 1.1.2",
        "colorama >= 0.2.5",
        "pycrypto >= 2.6"
        ] + ["pyreadline >= 2.0"] if "win" in sys.platform else [],

使用示例代码链接到完整的 setup.py

于 2013-04-17T09:59:16.203 回答