Generate requirements list dynamically instead of using environment markers. This allows using versions of setuptools older than 20.6.8. diff -Nurp pdir2-0.3.0.orig/setup.py pdir2-0.3.0/setup.py --- pdir2-0.3.0.orig/setup.py 2018-02-10 00:03:21.000000000 -0600 +++ pdir2-0.3.0/setup.py 2018-02-28 08:02:50.982899303 -0600 @@ -1,7 +1,15 @@ import codecs +import sys +import platform from setuptools import setup +requirements = [] +if platform.system == 'Windows': + requirements.append('colorama') +if sys.version_info[:2] < (3, 4): + requirements.append('enum34') + readme = codecs.open('docs/README.rst', encoding='utf-8').read() history = codecs.open('docs/HISTORY.rst', encoding='utf-8').read() @@ -17,13 +25,9 @@ setup( 'pdir', ], setup_requires=[ - # minimum version to use environment markers - 'setuptools>=20.6.8', - ], - install_requires=[ - 'colorama;platform_system=="Windows"', - 'enum34;python_version<"3.4"', + 'setuptools', ], + install_requires=requirements, include_package_data=True, license='MIT License', classifiers=[