On Tue, 2021-01-26 at 01:39 -0500, Philip Webb wrote: > 210125 Michał Górny wrote: > > Changed eselect-python dep removal date to July 2021. > > Not sure if there's a reason to display it to stable users today, > > or delay until the stable request is actually filed. > > I've been using Gentoo since 2003 , happily enough most of the time ; > I'm an ordinary desktop user without any special requirements. > Python versions have been one of the reasons for the exceptions. > I finally managed to remove 2.7 from my system yesterday. > > I do appreciate your work in this area, > but I can make no sense of the news item below.
Thank you for your kind words. However, I don't really know if I can help you. The news item is supposed to tell what's new. If I were to keep explaining the basics, it'd become too long (and people are already complaining that my items are getting too long). I think this falls into 'if you don't know whether you need to read on, don't'. > > > Title: Python preference to follow PYTHON_TARGETS > > Author: Michał Górny <mgo...@gentoo.org> > > Posted: 2021-01-24 > > Revision: 1 > > News-Item-Format: 2.0 > > > > On 2021-02-01 stable users will switch to a new method of updating > > the preferred Python versions that employs the configuration update > > mechanism in order to follow PYTHON_TARGETS. > > What are "preferred Python versions" ? Why are they multiple, not one ? It's the order in which the Python version used to run stuff are used. There are multiple because not all impls are actually supported by everything -- so if your top preference doesn't work, it goes for the second top, etc. > What is the "configuration update mechanism", CONFIG_PROTECT / etc-update / dispatch-conf. > how does it "follow PYTHON_TARGETS" & why are they both needed ? I think this is explained below -- it generates python-exec.conf based on PYTHON_TARGETS. Both are needed because we can't technically combine both without putting a lot of effort to implement stuff that's going to be slow and unreliable. > > > We will also deprecate app-eselect/eselect-python, > > and it will stop being installed by default after 2021-07-01. > > Why has there been this 3rd method of managing Python versions ? > Why might it still be needed by users ? Historical reasons, as always. Backwards compatibility. > > If you wish to use the newest Python version present > > in your PYTHON_TARGETS, you only have to accept configuration changes. > > Why doesn't Python behave like most other packages, > ie use the latest installed version ? Why does PYTHON_TARGETS exist ? > Why are the "targets" ? -- it sounds as if they may not be achieved. Because Python versions are not ABI-compatible, and old packages are usually broken with new major Python releases. It takes a lot of testing, patching, bumping to support it. > What are the "configuration changes" ? > Do you mean those in /etc/python-exec ? Yes. > > > If you wish to customize the behavior, read on. > > I have no wish to customise Python. I don't use it to develop programs ; > it is installed only as a requirement for other packages, eg Portage. > I do use it for a small script to work as a CLI calculator. > Given this, I won't comment on the rest of the news item, > but it makes even less sense to me than the section above. Then you don't have to do anything. -- Best regards, Michał Górny