I am puzzled about some of the responses there, how can anyone expect to randomly update packages on the system using pip and not have it go wrong
on any distribution? This is why things like pipenv exist.
I am puzzled about some of the responses there, how can anyone expect to randomly update packages on the system using pip and not have it go wrong
on any distribution? This is why things like pipenv exist.
Perhaps someone else wants to comment on that conversation
I am puzzled about some of the responses there, how can anyone expect to randomly update packages on the system using pip and not have it go wrong
on any distribution? This is why things like pipenv exist.
Perhaps someone else wants to comment on that conversation
I happen to be subscribed here, so figured I'd comment :)different escape hatch to point people towards if the distro Python doesn't suit their needs).
FWIW I think the way the discussions are going... really in both locations.. is needlessly taking shots at each other.
I've commented on discuss.python.org, but figured I'd repeat myself here.
I think the way these discussions devolve into each "side" taking shots at each other and arguing over nonsense that doesn't matter does everyone a disservice.
The facts of the matter, as far as I can tell:
- Distributors ship Python and a number of people find great value in that and it works great or at least fine for them.
- A number of users have needs or wants that are not well served by the Python that distributors ship, for one reason or another.
People in either of those groups sniping at each other for wanting the "wrong" things is completely unproductive.
It's probably "fine" if Python.org wants to ship a linux binary, I suspect it'll have very little impact on distributors of Python (and might even make things better-- since some of the problems flow from an impedance mismatch, and it provides a
On 5/26/2024 9:39:25 AM, Stefano Rivera <stefanor@debian.org> wrote:
Hi Ian (2024.05.26_01:33:09_+0000)
I am puzzled about some of the responses there, how can anyone expect to
randomly update packages on the system using pip and not have it go wrong
on any distribution? This is why things like pipenv exist.
People don't understand that stuff until they dig to the details. And
even then, sometimes they forget and/or assume we have the resources to >massively revamp our stack.
There are long-standing grievances here (see tiran's gist for example).
I have very little experience with Fedora/RH, but from their grumbling,
I assume they solve some problems for developers that we don't:
1. It appears that multiple versions of cPython are trivially available.
Each version has its own site-packages.
2. Their python packaging is more developer-centric than user-centric.
More modules included in the install.
We're pretty constrained on 1 by the debian security team policy. But
maybe there is discussion room there for non-supported Pythons?
We have taken steps to improve 2 by adding the python3-full package.
I could see a long term strategy for having a system-python package that >provides a python3 binary used by Debian packages that need Python. And
a separate python package for developers that installs all the bells and >whistles immediately.
Achieving this would require reorganizing the way we package almost all >Python, and I don't think we have the interest and resources to do that.
If pyenv was packaged in Debian (ITP #978149) it would probably be great
for new Python developers on Debian.
Not sure what other small tactical steps we could take?
Perhaps someone else wants to comment on that conversation
Replied. I've engaged with these guys on this stuff before. Let's see
where it goes...
Stefano
--
Stefano Rivera
http://tumbleweed.org.za/
+1 415 683 3272
[163d8144-a584-4d1d-9d71-f86da864fde2]
While there are technical concerns on both sides, socially I think the
Python community isn't that interested in outside perspectives.
On Monday, 27 May 2024 04:07:34 CEST Scott Kitterman wrote:
While there are technical concerns on both sides, socially I think the Python community isn't that interested in outside perspectives.
I managed to dig up these notes from the packaging summit at PyCon:
https://hackmd.io/@pradyunsg/pycon2024-pack-summit
Here's the summit page itself:
https://us.pycon.org/2024/events/packaging-summit/
There is some fixation on the "system Python" in distributions, and the following remarks:
"At least one distro team is working on moving their own Python out of the way, so users can install their own Python packages [...] Fedora tried platform-python and it broke everything, so it didn't really work"
Given the proliferation of "virtual environments" around Python, where you just pick your own Python version and accompanying packages, I find it odd that the Python packaging community gets so hung up on the system Python. Do they want it to just go away or not be on the path or something? Wouldn't having a singular upstream Python just cause the same problems when someone finds that it isn't the version they need?
For my own amusement and to confirm my own memories, I went back in time to check the Python Web site in the 1990s, and back then there was no problem in providing a binary for Linux and the Unix products of choice from that era. AIX, FreeBSD, HP-UX, Irix, OSF/1, Solaris, and SunOS 4, plus a Linux binary supplied either as an RPM or in a plain archive:
https://web.archive.org/web/20021030010019/http://www.python.org/ftp/python/ binaries-1.4/
What is stopping anyone from doing that all over again? The user downloads the
binary, puts it in their current directory, and runs their software. Could it be that the burden of support is perhaps a little greater than one might expect?
Because from that starting point, you have to build multiple versions, and then you have to build accompanying libraries, and then you have to support third-party packages which need third-party libraries. It wasn't a surprise that things like Sun Freeware (http://www.sunfreeware.com) emerged to cater to
the proprietary platforms, whereas distributions emerged around Linux to manage this complexity and provide all this software.
It is easy for the various language communities to focus only on their own ecosystems, but everybody's software has to work together. And then there are companies targeting various markets that demand software built on a selection of different technologies, so you get perspectives like these:
"Why did the PyPI and Conda ecosystem get created? It was originally created as an educational teaching language. If all of your tools are in Python, all of the things in your ecosystem are supposed to work well together. However, the tools that scientists and data scientists use are very commonly written in
C, C++, etc. and so there’s something called a “native binary problem”. Making
this stuff compatible across the board is an incredibly challenging issue! Conda was created to resolve those binary compatibility issues."
I honestly don't know what these people think operating system distributions are doing if not solving the "native binary problem".
Paul
On Monday, 27 May 2024 04:07:34 CEST Scott Kitterman wrote:
While there are technical concerns on both sides, socially I think the Python community isn't that interested in outside perspectives.
I managed to dig up these notes from the packaging summit at PyCon:
https://hackmd.io/@pradyunsg/pycon2024-pack-summit
Here's the summit page itself:
https://us.pycon.org/2024/events/packaging-summit/
There is some fixation on the "system Python" in distributions, and the following remarks:
"At least one distro team is working on moving their own Python out of the way, so users can install their own Python packages [...] Fedora tried platform-python and it broke everything, so it didn't really work"
Given the proliferation of "virtual environments" around Python, where you just pick your own Python version and accompanying packages, I find it odd that the Python packaging community gets so hung up on the system Python. Do they want it to just go away or not be on the path or something? Wouldn't having a singular upstream Python just cause the same problems when someone finds that it isn't the version they need?
For my own amusement and to confirm my own memories, I went back in time to check the Python Web site in the 1990s, and back then there was no problem in providing a binary for Linux and the Unix products of choice from that era. AIX, FreeBSD, HP-UX, Irix, OSF/1, Solaris, and SunOS 4, plus a Linux binary supplied either as an RPM or in a plain archive:
https://web.archive.org/web/20021030010019/http://www.python.org/ftp/python/ binaries-1.4/
What is stopping anyone from doing that all over again? The user downloads the
binary, puts it in their current directory, and runs their software. Could it be that the burden of support is perhaps a little greater than one might expect?
Because from that starting point, you have to build multiple versions, and then you have to build accompanying libraries, and then you have to support third-party packages which need third-party libraries. It wasn't a surprise that things like Sun Freeware (http://www.sunfreeware.com) emerged to cater to
the proprietary platforms, whereas distributions emerged around Linux to manage this complexity and provide all this software.
It is easy for the various language communities to focus only on their own ecosystems, but everybody's software has to work together. And then there are companies targeting various markets that demand software built on a selection of different technologies, so you get perspectives like these:
"Why did the PyPI and Conda ecosystem get created? It was originally created as an educational teaching language. If all of your tools are in Python, all of the things in your ecosystem are supposed to work well together. However, the tools that scientists and data scientists use are very commonly written in
C, C++, etc. and so there’s something called a “native binary problem”. Making
this stuff compatible across the board is an incredibly challenging issue! Conda was created to resolve those binary compatibility issues."
I honestly don't know what these people think operating system distributions are doing if not solving the "native binary problem".
Paul
In the interim the packaging toolchain evolved to the point that having distutils in the stdlib was no longer of general benefit, and in fact made things worse because people had grown accustomed to things like `from distutils import setup` being transparently monkeypatched to be setuptools under the covers.
On Monday, 3 June 2024 16:27:29 CEST Donald Stufft wrote:
In the interim the packaging toolchain evolved to the point that having distutils in the stdlib was no longer of general benefit, and in fact made things worse because people had grown accustomed to things like `from distutils import setup` being transparently monkeypatched to be setuptools under the covers.
The way that distutils could not be relied upon to behave in a sensible way is
entirely the fault of the developer(s) of setuptools having free rein to corrupt the Python packaging stack. In environments where I wanted to install to a particular location only the software I had already acquired, which is largely what the deployment element involved in distribution packaging can be reduced to, I did not want to be dealing with setuptools when distutils would do, nor with random hacks introduced to make distutils behave like setuptools.
For a while, I routinely stripped out unnecessary setuptools references from setup.py files, put distutils support back in, and mostly got the desired effect. But in the Python world, once someone teases some fancy new features and they catch on, everybody else has to hold on for the wild ride and budget for the consequences.
(For some software I have been trying to package, I see now that there is no setup.py or anything else, with some more "magic" introduced to be processed by yet another tool. I apparently have to get with it, or something to that effect, which severely diminishes my interest in packaging that software at all. The outcome actually affects the Debian project directly, not that very many people seem to care, however.)
I suppose it also didn't help that distutils entered the standard library in the era where it was apparently acceptable to get one's code included and to then declare the job done. Back when Python 3 was initially introduced, I suggested that the standard library be reviewed and fixed up, especially since
there was going to be a compatibility break anyway, but there was no appetite for it.
Still, I appreciate you engaging with this forum, even if it probably means having to defend decisions made by others.
Paul
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 349 |
Nodes: | 16 (2 / 14) |
Uptime: | 117:25:05 |
Calls: | 7,612 |
Files: | 12,786 |
Messages: | 5,683,872 |