RE: [Automated-testing] kci command line poll: Click or Typer?
"Bird, Tim" <[email protected]>
| Newsgroups | dev.linux.lists.kernelci |
|---|---|
| Message-ID | <BYAPR13MB2503C20593F85F7F641E42D1FDF8A@BYAPR13MB2503.namprd13.prod.outlook.com> |
> -----Original Message----- > From: Mark Brown <[email protected]> > On Thu, Sep 21, 2023 at 09:17:02PM +0100, Richard Purdie wrote: > > On Thu, 2023-09-21 at 19:41 +0000, Tim Bird wrote: > > > > If the python community cared about backwards (and forwards) > > > compatibility, they would not need > > > the whole mess that is virtual environments. > > > years (Bitbake in case it isn't obvious). Admittedly we've tried to > > keep it's dependencies minimal (much to the frustration of some) so > > I've not had much exposure to the wider module ecosystem and I've point > > blank refused to 'need' virtual environments for our use. > > FWIW assuming the issues Tim has run into are similar those I'm aware of > then modulo the general stuff with the 2->3 transition (which was it's > own special thing) the issues are all in the module ecosystem rather > than the core language and standard library. Actually, I need to state that I actually like Python a lot, and it's my preferred choice for scripting languages. The main command line tool (and most of the other utility tools) in Fuego are in Python, and I've worked with it for many years. As Mark correctly says, it's the module ecosystem that drives me nuts, not the language itself, or the core libraries. But it does give me heartburn when the community decides to remove a core library. And the module ecosystem can't keep itself from using newer versions of the Python language, so if you have a lot of module dependencies you will find yourself forced to upgrade your modules (and your own code) along with the interpreter. I just don't think that the lead developers have cared enough about backwards compatibility, and I've made the mistake of using modules which the authors have, over time, made backwards-incompatible changes to. This is on the authors of the individual modules, of course. But I don't sense very good leadership to avoid breaking backwards compatibility from the core language developers. I absolute abhor the virtual environment stuff. I'd seriously rather monkey-patch an old library (which I've had to do a few times in Fuego), than force my users to deal with virtual environments. Maybe I'm doing something wrong, but about 50% of the time when I try to use virtual environments on some random python code I want to play with, I end up having problems (sometimes, quite deep-seated). To be fair, this may be because I have locked down the versions of the distributions used in my containers in Fuego (for various reasons too long to go into here), and they are starting to show their age. But it really has been a nightmare. -- Tim