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). |