Inconsistent handling of python3-module vs python3x-module packages

Jon Turney
Thu Feb 17 15:42:56 GMT 2022

On 16/02/2022 11:45, marco atzeri wrote:
> On Wed, Feb 16, 2022 at 12:11 PM Adam Dinwoodie  wrote:
>> While wrangling a bunch of Python packages for my Cygwin installation,
>> I've noticed an inconsistency about how python3 vs python3x packages are
>> installed.
> Only one ? ;-)
>> As an example: the python3 package itself describes itself as a
>> meta-package; the package itself is almost empty, and the key thing
>> selecting the package does is depend on the latest python3x package,
>> currently python39.  The same behaviour is in place with, for example,
>> python3-tkinter.
> Yes, these are real meta packages that pull the latest version
>> However the python3-pytest package is marked as obsolete, and is
>> obsoleted by python36-pytest.  If I select python3-pytest for
>> installation, the package that's actually installed is python36-pytest,
>> even though there's a python39-pytest package available.
>> This inconsistency means that someone naively installing python3-tkinter
>> and python3-pytest will end up with both python3.9 and python3.6
>> installed, with neither installation having access to both the pytest
>> and tkinter modules.
> This is an artifact of of cygport creating python3-xxxx packages
> also for packages that never had a real package called like that.
> We had  a discussion if it was worth to make the  python3-xxxx pulling the
>   python39-xxxx instead of python39-xxxx and it was decided against it.

I think this is more the emergent behaviour due to various changes than 
the result of a considered decision.

>> I think this inconsistency is liable to cause confusion; it certainly
>> confused me until I worked out what was going on.  In my ideal world,
>> we'd be in a situation where I could specify `python3-foo` to an install
>> script and it'd automatically pick up the latest Python version
>> available; I could specify `python3x-foo` if I wanted a specific older
>> release.  But at the very least, I'd really like to see these packages
>> being handled consistently one way or another.
> I expect no one looking for a package will look for obsolete packages.

It makes 'install python3-foo' a moving target for scripts.

Patches to cygport to make this work better welcome!

More information about the Cygwin mailing list