是否可以在pip的requirements.txt文件中具有操作系统特定要求?
例如:我依赖于readline,因此,如果在Windows(或OSX)上安装,则需要pyreadline。如果它是linux,那么我不想强制安装。
最后,在setup.py中添加操作系统检查是我发现其他人使用的。例如:
install_requires = [
"parsedatetime >= 1.1.2",
"colorama >= 0.2.5",
"pycrypto >= 2.6"
] + ["pyreadline >= 2.0"] if "win" in sys.platform else [],
您可以使用PEP-508中指定的“环境标记”执行此操作:
以下是在requirements.txt
中使用这种标记的示例:
pyreadline==2.1; platform_system == "Windows"
同样,在setup.py
:
setup(
...
install_requires=['pyreadline; platform_system == "Windows"'],
)