This was originally added to ensure that Django 2.0+ could not be
installed on Python 2.7 or earlier, in particular where the version of
pip or setuptools being used did not support the python_requires
argument.
Unfortunately, as REQUIRED_PYTHON has been bumped, this check no longer
satisfies its original purpose and could be misleading, e.g. if
REQUIRED_PYTHON is 3.8 and CURRENT_PYTHON is 3.7 it would request that
Django < 2 is installed, but there are later versions of Django that
support Python 3.7.
By the time Django 4 is released in December 2021, the python_requires
argument will have been supported for over five years, and Python 2 will
have been EOL for nearly two years, so we can remove this check.
See https://packaging.python.org/guides/distributing-packages-using-setuptools/#python-requires
Unnecessary since abc0777b63 where the
extension was changed to not be ".py". Also, django.bin doesn't have
a __init__.py file, so it is not a package and therefore it's not
excluded by this argument.
The previous version of Argon2 uses encoded hashes of the form:
$argon2d$m=8,t=1,p=1$<salt>$<data>
The new version of Argon2 adds its version into the hash:
$argon2d$v=19$m=8,t=1,p=1$<salt>$<data>
This lets Django handle both version properly.
* Prevents issues with moving download locations in the future, see
https://www.djangoproject.com/m/bad-installer.txt
* Removes a location that release managers need to update with a
new version
* Very little use when files are hosted on PyPI (as Django's are)
Before this change, if you had a global Django installation in /usr/local/, you
might get a spurious warning when installing Django within a virtualenv.
Thanks epicserve for the report and debugging help.
Setup.py now warns if it detects that Django is being installed over top
of a previous installation that was never removed. This should only
happen when installing with ``python setup.py install``, as pip
automatically uninstalls before installing a new version and
easy_install installs as an egg directory.
Also generally updated the installation doc.