<story><title>Python: Please stop screwing over Linux distros</title><url>https://drewdevault.com/2021/11/16/Python-stop-screwing-distros-over.html</url></story><parent_chain><item><author>danieldk</author><text>And yet, other languages ship package managers [1] that are widely loved within their ecosystems and cover everything from microcontrollers to server applications.&lt;p&gt;I think what it makes it more difficult in the case of Python is that it has decades of legacy to deal with. No consistent semantic versioning, packages that expect that they can modify their package path in-place (this is a nightmare for immutable systems, like NixOS or OSTree-based system like Silverblue), a wide variety of build systems that sometimes hook into &lt;i&gt;make&lt;/i&gt;, etc. Solving this is a hard problem.&lt;p&gt;This is why an authority like PSF has to step in and say: this is how it is going to be done from here onwards.&lt;p&gt;[1] E.g. Rust&amp;#x27;s Cargo.</text></item><item><author>mangecoeur</author><text>Everyone complained, no one addressed the fact that for years the whole of python packaging was handled by like 2.5 people.&lt;p&gt;But as a rant this, like most of the ‘but just fix it’ rants, fails to acknowledge the hugely diverging needs of different users. I could not live without conda, since it’s the only sane way to get a working recent geospatial stack. Others need to run embedded environments, or portable ones, some need long term stability while others need bleeding edge packages that haven’t been released yet. Solving for a single case is straightforward; solving for all of them , not so much.</text></item></parent_chain><comment><author>uranusjr</author><text>Rust has and “advantage” here that it’s not generally shipped with your distro’s package manager. I think my biggest problem with this article is that the distros put Python there in the first place, and all of them apply patches to make Python work how they want it. And when it doesn’t work, it’s Python’s fault…? I mean yeah Python can definitely do something to make distributing Python easier, but it can only do so much without distros’ direct involvement.&lt;p&gt;I’ll add that most of Linux distro packaging contributors are generally very nice people, understand the problem at hand, and are very open to collaboration. But sometimes you see this kind of “it’s all your fault” complaints and it’s doing exactly the opposite of helping the cause.</text></comment>
<story><title>Python: Please stop screwing over Linux distros</title><url>https://drewdevault.com/2021/11/16/Python-stop-screwing-distros-over.html</url></story><parent_chain><item><author>danieldk</author><text>And yet, other languages ship package managers [1] that are widely loved within their ecosystems and cover everything from microcontrollers to server applications.&lt;p&gt;I think what it makes it more difficult in the case of Python is that it has decades of legacy to deal with. No consistent semantic versioning, packages that expect that they can modify their package path in-place (this is a nightmare for immutable systems, like NixOS or OSTree-based system like Silverblue), a wide variety of build systems that sometimes hook into &lt;i&gt;make&lt;/i&gt;, etc. Solving this is a hard problem.&lt;p&gt;This is why an authority like PSF has to step in and say: this is how it is going to be done from here onwards.&lt;p&gt;[1] E.g. Rust&amp;#x27;s Cargo.</text></item><item><author>mangecoeur</author><text>Everyone complained, no one addressed the fact that for years the whole of python packaging was handled by like 2.5 people.&lt;p&gt;But as a rant this, like most of the ‘but just fix it’ rants, fails to acknowledge the hugely diverging needs of different users. I could not live without conda, since it’s the only sane way to get a working recent geospatial stack. Others need to run embedded environments, or portable ones, some need long term stability while others need bleeding edge packages that haven’t been released yet. Solving for a single case is straightforward; solving for all of them , not so much.</text></item></parent_chain><comment><author>__float</author><text>Is it fair to compare an interpreted language and its package manager to Rust and Cargo? Python packages ship their source (in most cases), depend on a locally installed interpreter (with semantics possibly changing by version).&lt;p&gt;Yes, Python packages often make poor assumptions about what setup.py can do (i.e., _anything_), and so you end up choosing between &amp;quot;tested, supported by the author, and old&amp;quot; or &amp;quot;untested, unsupported, but up to date&amp;quot;.</text></comment>