Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev <gentoo-dev@l.g.o>
Subject: [gentoo-dev] News item review: Python 3.7 to become the default target
Date: Sun, 19 Apr 2020 11:01:33
Message-Id: d0ac5c2e5b8d9128a372f1490a0d451ba5a20dd5.camel@gentoo.org
1 Hi,
2
3 It's finally time to move away from 3.6. The news item is roughly based
4 on the one for 3.6, with some grammar fixes and removal of the EOL part.
5
6 Please also note that this is the *last* call to port packages to Python
7 3.7 *and* 3.8. Python 3.6 is no longer receiving bugfixes for a long
8 time now, and 3.7 will stop receiving them in June. That's how far
9 behind we are. I would personally prefer going straight to 3.8 if that
10 was realistically possible in less than 2 years.
11
12 ---
13
14 Title: Python 3.7 to become the default target
15 Author: Michał Górny <mgorny@g.o>
16 Posted: 2020-04-19
17 Revision: 1
18 News-Item-Format: 2.0
19 Display-If-Installed: dev-lang/python:3.6
20
21 On 2020-05-04, Python 3.7 will replace Python 3.6 as one of the default
22 Python target for Gentoo systems. The new default targets will be:
23
24 PYTHON_TARGETS="python2_7 python3_7"
25 PYTHON_SINGLE_TARGET="python3_7"
26
27 If you have not overriden the value of those variables on your system,
28 then your package manager will switch to the new targets immediately.
29 In order to prevent dependency conflicts, please clean stray packages
30 and rebuild/upgrade all packages with USE flag changes after the change,
31 e.g.:
32
33 emerge --depclean
34 emerge -1vUD @world
35 emerge --depclean
36
37 Please note that upgrading dependencies in place may cause some
38 of the package dependencies to be temporarily missing. While this
39 should not affect scripts that are already fully loaded, it may cause
40 ImportErrors while starting Python scripts or loading additional
41 modules (only scripts running Python 3.6 are affected).
42
43 In order to improve stability of the upgrade, you may choose to
44 temporarily enable both targets, i.e. set in /etc/portage/make.conf
45 or its equivalent:
46
47 PYTHON_TARGETS="python2_7 python3_6 python3_7"
48 PYTHON_SINGLE_TARGET="python3_6"
49
50 This will cause the dependencies to include both Python 3.6 and 3.7
51 support on the next system upgrade. Once all packages are updated,
52 you can restart your scripts, remove the custom setting and run another
53 upgrade to remove support for Python 3.6.
54
55 If you would like to postpone the switch to Python 3.7, you can copy
56 the current value of PYTHON_TARGETS and/or PYTHON_SINGLE_TARGET
57 to /etc/portage/make.conf or its equivalent:
58
59 PYTHON_TARGETS="python2_7 python3_6"
60 PYTHON_SINGLE_TARGET="python3_6"
61
62 If you would like to migrate your systems earlier, you can do the same
63 with the new value.
64
65 Please note that the switch is long overdue. Python 3.6 is no longer
66 receiving bug fixes. Its planned end-of-life is 2021-12-23 but we will
67 probably remove it earlier than that. [1]
68
69 [1]:https://devguide.python.org/#status-of-python-branches
70
71
72 --
73 Best regards,
74 Michał Górny

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies