1:orphan: 2 3Python 2 Sunset 4=============== 5 6Since January 2020 and the release of Setuptools 45, Python 2 is no longer 7supported by the most current release (`discussion 8<https://github.com/pypa/setuptools/issues/1458>`_). Setuptools as a project 9continues to support Python 2 with bugfixes and important features on 10Setuptools 44.x. 11 12By design, most users will be unaffected by this change. That's because 13Setuptools 45 declares its supported Python versions to exclude Python 2.7, 14and installers such as pip 9 or later will honor this declaration and prevent 15installation of Setuptools 45 or later in Python 2 environments. 16 17Users that do import any portion of Setuptools 45 or later on Python 2 are 18directed to this documentation to provide guidance on how to work around the 19issues. 20 21Workarounds 22----------- 23 24The best recommendation is to avoid Python 2 and move to Python 3 where 25possible. This project acknowledges that not all environments can drop Python 262 support, so provides other options. 27 28In less common scenarios, later versions of Setuptools can be installed on 29unsupported Python versions. In these environments, the installer is advised 30to first install ``setuptools<45`` to "pin Setuptools" to a compatible 31version. 32 33- When using older versions of pip (before 9.0), the ``Requires-Python`` 34 directive is not honored and invalid versions can be installed. Users are 35 advised first to upgrade pip and retry or to pin Setuptools. Use ``pip 36 --version`` to determine the version of pip. 37- When using ``easy_install``, ``Requires-Python`` is not honored and later 38 versions can be installed. In this case, users are advised to pin 39 Setuptools. This applies to ``setup.py install`` invocations as well, as 40 they use Setuptools under the hood. 41 42It's still not working 43---------------------- 44 45If after trying the above steps, the Python environment still has incompatible 46versions of Setuptools installed, here are some things to try. 47 481. Uninstall and reinstall Setuptools. Run ``pip uninstall -y setuptools`` for 49 the relevant environment. Repeat until there is no Setuptools installed. 50 Then ``pip install setuptools``. 512. If possible, attempt to replicate the problem in a second environment 52 (virtual machine, friend's computer, etc). If the issue is isolated to just 53 one unique environment, first determine what is different about those 54 environments (or reinstall/reset the failing one to defaults). 553. End users who are not themselves the maintainers for the package they are 56 trying to install should contact the support channels for the relevant 57 application. Please be considerate of those projects by searching for 58 existing issues and following the latest guidance before reaching out for 59 support. When filing an issue, be sure to give as much detail as possible 60 to help the maintainers understand what factors led to the issue after 61 following their recommended guidance. 624. Reach out to your local support groups. There's a good chance someone 63 nearby has the expertise and willingness to help. 645. If all else fails, `file this template 65 <https://github.com/pypa/setuptools/issues/new?assignees=&labels=Python+2&template=setuptools-warns-about-python-2-incompatibility.md&title=Incompatible+install+in+(summarize+your+environment)>`_ 66 with Setuptools. Please complete the whole template, providing as much 67 detail about what factors led to the issue. Setuptools maintainers will 68 summarily close tickets filed without any meaningful detail or engagement 69 with the issue. 70