Pip vs Pacman - How to pack Python packages 📦 #7619
Replies: 11 comments 35 replies
-
To me, all 3 of these are best served as pacman packages! I think @umarcor has a distinction in mind regarding C and C++ as being somehow more systemic than Python packages and therefore those ones are more appropriate, but to me this distinction is artificial. Pacman (and any reasonable package manager) deals with files, the contents of those are of little or no concern to the installing tool. Why would Python be given special consideration here? It's not orthogonal. Skipping 1 (as we all agree on that though the wording of it is the point of creation of my artificial distinctions), let's take each in turn.
Honestly, I just think we're making problems for ourselves with these proposals but I am happy to discuss it in depth with y'all. Cheers. |
Beta Was this translation helpful? Give feedback.
-
It might be better to ask for upstream support or at least a promise of some kind that they would accept patches or help to add some way to be able to use a non-standard platform ( in the same vein as musl based pip packages instead of glibc ones). However, looking at it from their side, I think adding support for other configurations might be too much effort and work to have as a first-class config, especially if they have to consider testing and whatnot |
Beta Was this translation helpful? Give feedback.
-
Note that my proposal was mainly meant for warning users about packages which are known to be broken if installed through pip. When a users tries to use a package through pip and it crashes, there are several options:
In both cases it is desirable for pip to not install the package, unless the user confirms explicitly. In the second case, there are two possible solutions:
Both of them require similar expertise, since patches are the same but applied in different locations. Therefore, it might take a while until any of them is done. In many cases (smaller less used projects), it takes years or forever. It's for those case that I recommend having a list of "known to fail pip packages" rather than having issues or it being undocumented.
I think that closing a failure/crash report by adding a package to a list is easier than diving into the project and patching it. |
Beta Was this translation helpful? Give feedback.
-
When we start to port Python for Mingw years ago we try to discuss with Python developers about adding Mingw as official platform. But they don't want to do it. There are was plenity of patches on Python bug tracker about Mingw support - no one was merged.
All of the above affects our decision to rebuild packages rather than use Pip. |
Beta Was this translation helpful? Give feedback.
-
All this stuff about pip is to completely moot until it works, and works properly and that does involve upstream PyPI support. We should not be promoting or building tools with sharp edges. That's going back to the bad old days. @1480c1 I do not believe for one second that in general MS dislikes MSYS2. There'd be no Git for Windows without it, for example. And that's maintained by an MS employee. |
Beta Was this translation helpful? Give feedback.
-
Packaging all the things that their users want as 'native' packages seems to be working just fine for ArchLinux, debian and every other distro I've seen. pip is liked by Pythonistas. I'm heavily involved in Python, but I am not blind to its warts. Far from it, I know them all too well. Pacman is far better than pip IMHO, as is conda. The technical facts are just that. We cannot brush them under the carpet. That there are many pip packages we don't provide so far isn't of much relevance AFAICT. It is far from difficult to add any given Python package to MSYS2 and it is the right way to do it. If we, or some of our users want a package, they will add it. If making PKGBUILDs is burdonsome (I cannot agree with that personally) then add some tooling around it. On conda we have |
Beta Was this translation helpful? Give feedback.
-
@umarcor I don't understand the problem of this discussion completely. Sorry for my English. Nobody forbids using PIP. Every user can decide to use it or not use. |
Beta Was this translation helpful? Give feedback.
-
Funny thing is, we have some of the exact same issues with pip on pip will happily overwrite files that It really is the honey-badger of python packaging to me. |
Beta Was this translation helpful? Give feedback.
-
I think upstream fixing pypa/pip#5605 will fix all the issues discussed here. |
Beta Was this translation helpful? Give feedback.
-
Now, for some reason, I went to this page https://docs.brew.sh/Python-for-Formula-Authors#installing-1 and that seems to a rather best solution for me at least. More information about this is available to docs: https://docs.python.org/3/library/site.html#module-site |
Beta Was this translation helpful? Give feedback.
-
I've opened a PR for making pip default to --user installs by default, copied from Debian: #7911 |
Beta Was this translation helpful? Give feedback.
-
Forked from #7569 (comment)
Pip
? Or Pacman should be used?pip
so that it warns that,python-*
package or rather all packages?@umarcor quoted a way in which Python package a in which packages can be split from #7569 (comment)
Beta Was this translation helpful? Give feedback.
All reactions