qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC PATCH 1/3] python: add mkvenv.py


From: Paolo Bonzini
Subject: Re: [RFC PATCH 1/3] python: add mkvenv.py
Date: Fri, 31 Mar 2023 10:44:17 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0

On 3/30/23 16:00, John Snow wrote:
     > +                yield {
     > +                    'name': entry_point.name
    <http://entry_point.name>,
     > +                    'module': module,
     > +                    'import_name': attr,
     > +                    'func': attr,

    What about using a dataclass or namedtuple instead of a dictionary?


Sure. Once 3.8 is our minimum there's no point, though.

Well, that's why I also mentioned namedtuples.  But no big deal.

    BTW, another way to repair Debian 10's pip is to create a symbolic link
    to sys.base_prefix + '/share/python-wheels' in sys.prefix +
    '/share/python-wheels'.  Since this is much faster, perhaps it can be
    done unconditionally and checkpip mode can go away together with
    self._context?


I guess I like it less because it's way more Debian-specific at that point. I think I'd sooner say "Sorry, Debian 10 isn't supported!"

(Or encourage users to upgrade their pip/setuptools/ensurepip to something that doesn't trigger the bug.)

Or, IOW, I feel like it's normal to expect ensurepip to work but mussing around with symlinks to special directories created by a distribution just feels way more fiddly.

No doubt about that. It's just the balance between simple fiddly code and more robust code that is also longer.

Anyhow later on we will split mkvenv.py in multiple patches so it will be easy to revert checkpip when time comes. For example, when Python 3.7 is dropped for good rather than being just "untested but should work", this Debian 10 hack and the importlib_metadata/pkg_resources fallbacks go away at the same time.

Paolo




reply via email to

[Prev in Thread] Current Thread [Next in Thread]