python3.9 failing?

Marco Atzeri marco.atzeri@gmail.com
Thu Dec 23 08:50:54 GMT 2021


On 23.12.2021 09:28, Russell VT wrote:
> On Thu, Dec 23, 2021 at 12:52 AM Marco Atzeri > wrote:
> 
>     On 23.12.2021 06:50, Russell VT wrote:
>      > On Tue, Dec 21, 2021 at 6:34 AM Achim Gratz <Stromeko@nexgo.de
>     <mailto:Stromeko@nexgo.de>> wrote:
>      >
>      >> Marco Atzeri writes:
>      >>> Without Python 3.9  installed python3 should link by default to the
>      >>> next in the line (likely 3.8)
>      >>
>      >> While python3 still defaults to python38 alternatives should
>     probably
>      >> prioritize 38 over 39?
>      >
>      >
>      > That's how I "fixed" mercurial on my own installation, as it was
>      > complaining about missing the "parsers" module, from inside the
>     Python 3.9
>      > libraries, IIRC.
> 
>     Thanks for the report.
>     It is caused by:
> 
>     $ head /usr/bin/hg -n 20
>     #!/usr/bin/python3
>                        ^^ default 3.9
>     ....
> 
>     libdir = '../lib/python3.8/site-packages'
>                              ^^ but really need 3.8
> 
> 
> Thanks... python3 defaults to whatever you have "alternatives" set to... 
> looks like python's libdir doesn't quite obey those alternatives, though?

not in this case as Mercurial is not version agnostic
and it is setting its own specific "libdir"

$ cygcheck -l mercurial | grep "usr/lib" | head
/usr/lib/python3.8/site-packages/hgdemandimport/demandimportpy2.py
/usr/lib/python3.8/site-packages/hgdemandimport/demandimportpy3.py
..

>     No surprise is not working.
> 
>     A simple workaround is:
> 
> 
> Simpler (and more-complete) workaround is:
> 
>     % /usr/sbin/alternatives.exe --set python3 /usr/bin/python3.8

my workaround solve the specific hg issue,  until its repacking.

Alternatives can not support two different programs that need different 
version


> Cheers -
> RVT

Regards
Marco





More information about the Cygwin mailing list