summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--AUTHORS1
-rw-r--r--setup.py30
2 files changed, 31 insertions, 0 deletions
diff --git a/AUTHORS b/AUTHORS
index 97d512dea1..b1fa5456b6 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -845,6 +845,7 @@ answer newbie questions, and generally made Django that much better:
ymasuda@ethercube.com
Yoong Kang Lim <yoongkang.lim@gmail.com>
Yusuke Miyazaki <miyazaki.dev@gmail.com>
+ Zac Hatfield-Dodds <zac.hatfield.dodds@gmail.com>
Zachary Voase <zacharyvoase@gmail.com>
Zach Liu <zachliu@gmail.com>
Zach Thompson <zthompson47@gmail.com>
diff --git a/setup.py b/setup.py
index 1008ab55c7..32dfc9d291 100644
--- a/setup.py
+++ b/setup.py
@@ -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',