|
@@ -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',
|