Path: csiph.com!eternal-september.org!reader02.eternal-september.org!aioe.org!bofh.it!news.nic.it!robomod From: Brian May Newsgroups: linux.debian.maint.python Subject: Re: Re: Challenges packaging Python for a Linux distro - at Python Language Summit Date: Tue, 18 May 2021 00:00:02 +0200 Message-ID: References: X-Original-To: debian-python@lists.debian.org X-Mailbox-Line: From debian-python-request@lists.debian.org Mon May 17 21:58:33 2021 Old-Return-Path: X-Amavis-Spam-Status: No, score=-5.187 tagged_above=-10000 required=5.3 tests=[BAYES_00=-2, LDO_WHITELIST=-5, MURPHY_DRUGS_REL8=0.02, RDNS_NONE=0.793, RERE=1] autolearn=no autolearn_force=no X-Policyd-Weight: using cached result; rate: -3.5 X-Greylist: delayed 85340 seconds by postgrey-1.36 at bendel; Mon, 17 May 2021 21:58:23 UTC Organization: Debian MIME-Version: 1.0 Content-Type: text/plain X-Mailing-List: archive/latest/19167 List-ID: List-URL: List-Archive: https://lists.debian.org/msgid-search/874kf1rpje.fsf@canidae.wired.pri Approved: robomod@news.nic.it Lines: 39 Sender: robomod@news.nic.it X-Original-Date: Tue, 18 May 2021 07:58:13 +1000 X-Original-Message-ID: <874kf1rpje.fsf@canidae.wired.pri> X-Original-References: <20210517122203.2wlsug663kqujtnt@yuggoth.org> Xref: csiph.com linux.debian.maint.python:13380 Jeremy Stanley writes: > For software development work, I compile my own Python interpreters > and libraries, because I need to develop against a variety of > different versions of these, sometimes in chroots, to be able to > target other distros and releases thereof. I keep all these in my > homedir or otherwise outside of normal system-wide installation > paths. Bear in mind that this isn't just a Debian problem, for > decades Red Hat has also advised programmers not to rely on their > /usr/bin/python for custom development because it is patched and > tuned specifically for running system applications packaged for > their distro and not intended as a general-purpose Python > distribution. There are tools that will help you do this. e.g. pyenv, asdf, etc. But, yes, for my own software development, I gave up trying to use Debian python packages years ago, because I found I was spending way more time trying to package the required dependencies (and dependencies of dependencies of dependencies) then I spending developing my application. This gets even worse if you want to support rpm based distributions. Plus the fact that I was becoming increasingly concerned that if I upgraded library python3-L for application A, I might accidentally break applications B, C, and D also, and testing/fixing everything at the same time not really feasible. So now I use asdf + poetry/virtualenvs now, plus Docker for distribution. As a result, I can upgrade the dependencies in each application one application at a time. If an application breaks, I just need to fix that one application, without breaking everything else at the same time. I can upgrade the OS distribution, and not be concerned (mostly anyway) that it will break my applications in weird and wonderful ways that I could not predict. This isn't so useful for distribution of Python based desktop applications, but I don't do a lot of that (and probably would be looking for a good off-the-shelf solution if I did). -- Brian May