I\'m trying to port a python2 package to python3 (not my own) using six so that it\'s compatible with both. However one of the packages listed in requirements.txt is now in
You can use the environment markers to achieve this in requirements.txt since pip 6.0:
SomeProject==5.4; python_version < '2.7'
SomeProject; sys_platform == 'win32'
It is supported by setuptools too by declaring extra requirements in setup.py:
setup(
...
install_requires=[
'six',
'humanize',
],
extras_require={
':python_version == "2.7"': [
'ipaddress',
],
},
)
See also requirement specifiers. And Strings for the string versions of corresponding Python commands.