Signed-off-by: Michał Górny <[email protected]> --- .../2020-09-28-python-2-7-cleanup.en.txt | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 2020-09-28-python-2-7-cleanup/2020-09-28-python-2-7-cleanup.en.txt
diff --git a/2020-09-28-python-2-7-cleanup/2020-09-28-python-2-7-cleanup.en.txt b/2020-09-28-python-2-7-cleanup/2020-09-28-python-2-7-cleanup.en.txt new file mode 100644 index 0000000..22aba74 --- /dev/null +++ b/2020-09-28-python-2-7-cleanup/2020-09-28-python-2-7-cleanup.en.txt @@ -0,0 +1,60 @@ +Title: Python 2.7 cleanup is progressing +Author: Michał Górny <[email protected]> +Posted: 2020-09-28 +Revision: 1 +News-Item-Format: 2.0 +Display-If-Installed: dev-lang/python:2.7 + +Python 2.7 has reached its end-of-life by 2019-12-31, and many projects +have removed Python 2 support since. During the last few months we have +been working hard to migrate Gentoo to Python 3, and we have finally +reached the point making it possible for the vast majority of our users +to run a system free of Python 2.7 modules. + +The few remaining high profile packages (e.g. dev-python/cython) +are preserving Python 2.7 only for a very few uncommon packages. +For this reason, we have decided to remove python2_7 from the default +value of PYTHON_TARGETS. + +If you did not override this variable on your system, your next @world +upgrade should take care of removing the target from the remaining +packages. If you did override it, you have to remove python2_7 manually +if you do not need it. Please note that you may need to manually +uninstall any Python 2.7 packages installed from third-party +repositories and/or run `emerge --depclean` first to remove orphan +packages. + +In the unlikely scenario that you use one of the few remaining packages +needing these dependencies, your package manager will inform you +of unsatisfied USE dependencies and/or suggest readding python2_7 target +to the appropriate packages. However, please note that these packages +will be masked for removal by the end of 2020 if they are not ported +to Python 3. + +Please note that the Python 2.7 interpreter (without additional Python +packages) remains necessary to build a few high profile packages, +in particular Chromium, Mozilla software and PyPy. If you build either +of these packages from source, you will not be able to permanently +remove Python 2.7 from your software. + +We are going to preserve CPython 2.7 (and PyPy2.7) for as long +as necessary and provide security fixes to the best of our ability. +However, please note that we are not able to dedicate resources to +auditing Python 2.7's code and with little community interest in that, +it should be considered potentially vulnerable. + +If your projects still rely on Python 2.7, we would like to once again +encourage you to migrate them to Python 3. However, if you really need +to run them, we suggest using a virtualenv. To create a new Python 2.7 +environment, install dev-python/virtualenv and use the following option: + + virtualenv -p /usr/bin/python2.7 ... + +To create a PyPy2.7 environment: + + virtualenv -p /usr/bin/pypy ... + +Modern versions of pip should be able to automatically select older +versions of packages that still support Python 2.7. Please note that +these versions are generally no longer supported. They can be buggy, +vulnerable or simply incompatible with one another. -- 2.28.0
