Gentoo Archives: gentoo-commits

From: "Michał Górny" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] data/gentoo-news:master commit in: 2020-02-07-python-2-7-eol/
Date: Fri, 07 Feb 2020 12:24:52
Message-Id: 1581078273.bb6ecae5a95bc13b2ec01a5bf3188d87df9a0c2c.mgorny@gentoo
1 commit: bb6ecae5a95bc13b2ec01a5bf3188d87df9a0c2c
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Wed Feb 5 21:19:20 2020 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Fri Feb 7 12:24:33 2020 +0000
6 URL: https://gitweb.gentoo.org/data/gentoo-news.git/commit/?id=bb6ecae5
7
8 2020-02-07-python-2-7-eol: news item for py2.7 EOL
9
10 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
11
12 .../2020-02-07-python-2-7-eol.en.txt | 51 ++++++++++++++++++++++
13 1 file changed, 51 insertions(+)
14
15 diff --git a/2020-02-07-python-2-7-eol/2020-02-07-python-2-7-eol.en.txt b/2020-02-07-python-2-7-eol/2020-02-07-python-2-7-eol.en.txt
16 new file mode 100644
17 index 0000000..fb9c16e
18 --- /dev/null
19 +++ b/2020-02-07-python-2-7-eol/2020-02-07-python-2-7-eol.en.txt
20 @@ -0,0 +1,51 @@
21 +Title: Python 2.7 went EOL
22 +Author: Michał Górny <mgorny@g.o>
23 +Posted: 2020-02-07
24 +Revision: 1
25 +News-Item-Format: 2.0
26 +Display-If-Installed: dev-lang/python:2.7
27 +
28 +Python 2.7 has reached its end-of-life by 2019-12-31. Python package
29 +upstreams have started removing Python 2 compatibility code from their
30 +packages more aggressively. This includes common dependencies such as
31 +dev-python/pytest, dev-python/setuptools and dev-python/sphinx. While
32 +we realize that many packages are still dependent on Python 2, providing
33 +full support for it exceeds our maintenance capabilities.
34 +
35 +Upstream is planning to make one more release of dev-lang/python:2.7
36 +in April 2020. We are going to continue maintaining and patching
37 +the interpreter for as long as it is feasible, most likely even after
38 +all Python 2 packages are gone from Gentoo.
39 +
40 +At the same time, we are actively working towards switching
41 +the distribution to Python 3. Whenever possible, we are removing
42 +Python 2 support from packages. It will remain available for
43 +the packages missing Python 3 compatibility and their dependencies
44 +for some more time. However, packages that have little chances of being
45 +ported will eventually be removed.
46 +
47 +If you are still using Python 2 for your projects, we strongly recommend
48 +you to migrate away. For the time being, it is preferable to use
49 +dev-python/virtualenv or a similar solution rather than ebuilds,
50 +to install the dependencies for your projects locally.
51 +
52 +Regular Gentoo systems will be migrated off Python 2 gracefully. It may
53 +be necessary to use --changed-deps or a similar option during system
54 +upgrades whenever they become blocked by Python 2 packages installed
55 +earlier.
56 +
57 +If you wish to remove Python 2.7 entirely sooner, you can try removing
58 +python2_7 from PYTHON_TARGETS. However, this will require adding
59 +explicit package.use entries if some of the installed packages still
60 +require Python 2. An example package.use entry follows:
61 +
62 + # disable py2.7 without altering the other flags
63 + */* PYTHON_TARGETS: -python2_7
64 + # enable py2.7 for setuptools
65 + dev-python/setuptools PYTHON_TARGETS: python2_7
66 + # switch a single-impl package to 2.7
67 + dev-embedded/libftdi PYTHON_TARGETS: python2_7
68 + dev-embedded/libftdi PYTHON_SINGLE_TARGET: -* python2_7
69 +
70 +Note that package.use entries are not necessary for packages that
71 +support one implementation only (i.e. do not support Python 3 at all).