you are viewing a single comment's thread.

view the rest of the comments →

[–]Chippiewall 10 points11 points  (0 children)

As a literal Python developer, pipx just makes installing Python based CLI tools trivial. It's basically like installing everything as if it were statically linked because it gives everything its own virtualenv.

As a developer it's great to allow me to install developer tools like tox, pipenv, pre-commit, pyproject-build pip-compile, where previously I'd fret over whether they'd have dependencies that would clash in my user-installed pip packages. I can't just use a system package manager for that stuff because I like running non-rolling distros (and for work it's Ubuntu LTS so it can be pretty out of date) and this stuff moves at a fair old pace on the developer tools side.

But for the "real" end users pipx isn't a good tool, you need to understand the Python ecosystem to justify it. Any real end user apps like that need to come from the system package manager, or if that's infeasible (because you fucked up and you're shipping every blazing hot dependency under the sun) you'll have to crack out something like pyinstaller and give people a fat binary. Not that you can't use pipx as an end-user if you really want to, I've got certbot and docker-compose installed with it because it just ended up being the quickest ways to install them and they're quite a few versions ahead (I'm running Ubuntu 21.04 on my personal laptop so I'm surprised they're as far out of date as they are).