X-Recipient: archive-cygwin@delorie.com
X-Original-To: cygwin@cygwin.com
Delivered-To: cygwin@cygwin.com
DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 8FFED3858C60
Authentication-Results: sourceware.org;
 dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=39J9FQ/iRE5fyk6/q/LmwSZRi5Af1fLhqsEPPwb3Gnc=;
 b=PoQ2h0wUlNRPpY5ZSPH601WX/SsBaZO4f2Won0EgiAdv0akkxQXImJZhS4pwiblhdQ
 gRcx4art3vEfvb1ZtB5OdmlnVkwAMWCyfBy+OxYGR9J/ex7yjAk4M6ikgejo+p3EeLUy
 cqgi8Y7ho5P45fYwq48GrHP/qIarI53Yc+QGhWZK8Gti38dEEAO6JcVKPmrDU8PMqnCp
 TYmONt1bBZYxdAlUohYfqD6HT4jvpzIn/XMnErVaQ6bByz/yhtfT4OLdAgpAupUDGPC5
 S+t+ThvehubOBq91T7RVklGeVeX2/SfXiulcWlDTtZSlihTWVMJHG//ekkXzhEtWcB6C
 TG/g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=39J9FQ/iRE5fyk6/q/LmwSZRi5Af1fLhqsEPPwb3Gnc=;
 b=Z/H+UUEZHrJFJURn+vz21ujaKvt/N3lG3kLHa6PntZp1KsfnB3aPlnAQrMz+q24RQo
 jrtUkqM0CGzoE1gbrbbnUgQjQC0Dqv30EQ7bQ1vpL+vvoDXA2INxyZeOEf+VylppZlZK
 avU05yl9JUkiyJoi46R794iFZQ0q7FI87HlHa9sLuj1QeM1MWHCrqducM99uLOU0FsGt
 6MRWFsi1nIjbsUsKxw4dIcPRp+q36lRaphQChRNFiyMLn3lpgIdQh9++GJg7eoJZAKKu
 ynmnjPGodDVY6Cg0bie/lB1tEiCe0UlLs4kLFNw8UfY9RLHJ1XkxGSk75eWpoT6UMrju
 2xfg==
X-Gm-Message-State: AOAM530uj3XtyisKX9BIBNk5ZqLk418hOYIVoGJDoH0nf1FjzXp5tQ1E
 7Upn2vbWFYg2LUpYuymObZjDwxBbA7bhpKGhjYxtuh8lNbY=
X-Google-Smtp-Source: ABdhPJzo/No5FNSlVEnN26LpgPl6+B/e5CWB75NamcmX/H9gx7TDhcA+uXbzdebtl9J2uecnRWfBRWN+qtd3TDZOMtY=
X-Received: by 2002:a05:6808:1116:: with SMTP id
 e22mr581187oih.45.1640238631885; 
 Wed, 22 Dec 2021 21:50:31 -0800 (PST)
MIME-Version: 1.0
References: <f5b1r26m7a2.fsf@ecclerig.inf.ed.ac.uk>
 <67c4a4f1-3189-e85a-0719-c05a1096a0d6@gmail.com>
 <87k0fykrqm.fsf@Rainer.invalid>
In-Reply-To: <87k0fykrqm.fsf@Rainer.invalid>
From: Russell VT <russellvt@gmail.com>
Date: Wed, 22 Dec 2021 22:50:14 -0700
Message-ID: <CANV2+nWPJE83rryNzJwwVNsKYbzvJnKV9GZ93ERzD95Zpb7QJg@mail.gmail.com>
Subject: Re: python3.9 failing?
To: Achim Gratz <stromeko@nexgo.de>
X-Spam-Status: No, score=2.5 required=5.0 tests=BAYES_50, DKIM_SIGNED,
 DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, HTML_MESSAGE,
 RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS,
 TXREP autolearn=ham autolearn_force=no version=3.4.4
X-Spam-Level: **
X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on
 server2.sourceware.org
X-Content-Filtered-By: Mailman/MimeDel 2.1.29
X-BeenThere: cygwin@cygwin.com
X-Mailman-Version: 2.1.29
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-request@cygwin.com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=subscribe>
Cc: cygwin@cygwin.com
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: "Cygwin" <cygwin-bounces+archive-cygwin=delorie.com@cygwin.com>

On Tue, Dec 21, 2021 at 6:34 AM Achim Gratz <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.

$ /usr/sbin/alternatives.exe --display python
python - status is manual.
 link currently points to /usr/bin/python3.8
/usr/bin/python2.7 - priority 27
/usr/bin/python3.8 - priority 38
/usr/bin/python3.6 - priority 36
/usr/bin/python3.7 - priority 37
/usr/bin/python3.9 - priority 39
Current `best' version is /usr/bin/python3.9.


Actually, switching back the alternative to  "python3" is enough to
demonstrate it ... and I update my Cygwin packages fairly religiously
(probably at least every week or two). Though, looking at this, now... it
seems this now says "Python 3.8" (which works) but I'm 99% sure this was
complaining about Python 3.9, earlier.

So, maybe there's some weird race condition with what *.pyc or __pycache__
files are being built, and when? (ie. if the current user can write to the
cygwin directories, Python may have built the "wrong" versions of those
files for the "current" distribution that's now installed?)

Stack dump, below... after I had switched from a force-reinstall on Python
3.9 and Mercurial, to a Python 3,8 alternative, and back (using the
alternatives command).

Cheers -
Russell



$ hg status
Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/mercurial/policy.py", line 69, in
_importfrom
    fakelocals[modname] = mod = getattr(pkg, modname)
  File "/usr/lib/python3.8/site-packages/mercurial/pycompat.py", line 303,
in w
    return f(object, sysstr(name), *args)
AttributeError: module 'mercurial.cext' has no attribute 'parsers'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/hg", line 59, in <module>
    dispatch.run()
  File "/usr/lib/python3.9/importlib/util.py", line 245, in __getattribute__
    self.__spec__.loader.exec_module(self)
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in
_call_with_frames_removed
  File "/usr/lib/python3.8/site-packages/mercurial/dispatch.py", line 21,
in <module>
    from .i18n import _
  File "/usr/lib/python3.9/importlib/util.py", line 245, in __getattribute__
    self.__spec__.loader.exec_module(self)
  File "/usr/lib/python3.8/site-packages/mercurial/i18n.py", line 123, in
<module>
    if _plain():
  File "/usr/lib/python3.8/site-packages/mercurial/i18n.py", line 115, in
_plain
    b'HGPLAIN' not in encoding.environ
  File "/usr/lib/python3.9/importlib/util.py", line 245, in __getattribute__
    self.__spec__.loader.exec_module(self)
  File "/usr/lib/python3.8/site-packages/mercurial/encoding.py", line 40,
in <module>
    charencode = policy.importmod('charencode')
  File "/usr/lib/python3.8/site-packages/mercurial/policy.py", line 116, in
importmod
    mod = _importfrom(pn, mn)
  File "/usr/lib/python3.8/site-packages/mercurial/policy.py", line 71, in
_importfrom
    raise ImportError('cannot import name %s' % modname)
ImportError: cannot import name parsers

-- 
Russell M. Van Tassell <russellvt@gmail.com>

-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple
