diff options
author | Zac-HD <zac.hatfield.dodds@gmail.com> | 2017-12-04 10:24:14 +1100 |
---|---|---|
committer | Tim Graham <timograham@gmail.com> | 2017-12-22 18:25:05 -0500 |
commit | 32ade4d73b50aed77efdb9dd7371c17f89061afc (patch) | |
tree | 35199929e44448ef272561a1a4d229678355232c /setup.py | |
parent | 622ead6aaf55288cd355f22e8bb9c56d8e12556c (diff) | |
download | django-32ade4d73b50aed77efdb9dd7371c17f89061afc.tar.gz |
Fixed #28878 -- Added python_requires in setup.py and a warning for older pips that don't recognize it.
Diffstat (limited to 'setup.py')
-rw-r--r-- | setup.py | 30 |
1 files changed, 30 insertions, 0 deletions
@@ -4,6 +4,35 @@ from distutils.sysconfig import get_python_lib from setuptools import find_packages, setup +CURRENT_PYTHON = sys.version_info[:2] +REQUIRED_PYTHON = (3, 5) + +# This check and everything above must remain compatible with Python 2.7. +if CURRENT_PYTHON < REQUIRED_PYTHON: + sys.stderr.write(""" +========================== +Unsupported Python version +========================== + +This version of Django requires Python {}.{}, but you're trying to +install it on Python {}.{}. + +This may be because you are using a version of pip that doesn't +understand the python_requires classifier. Make sure you +have pip >= 9.0 and setuptools >= 24.2, then try again: + + $ python -m pip install --upgrade pip setuptools + $ python -m pip install django + +This will install the latest version of Django which works on your +version of Python. If you can't upgrade your pip (or Python), request +an older version of Django: + + $ python -m pip install "django<2" +""".format(*(REQUIRED_PYTHON + CURRENT_PYTHON))) + sys.exit(1) + + # Warn if we are installing over top of an existing installation. This can # cause issues where files that were deleted from a more recent Django are # still present in site-packages. See #18115. @@ -35,6 +64,7 @@ version = __import__('django').get_version() setup( name='Django', version=version, + python_requires='>={}.{}'.format(*REQUIRED_PYTHON), url='https://www.djangoproject.com/', author='Django Software Foundation', author_email='foundation@djangoproject.com', |