> I have currently 57 apps installed via pipx on my laptop, and the 57
> environments take almost 1 GB already.
That is a lot! But give conda a try: conda uses hard links, so no wasted space when packages are the same.
I never understood the fear around version conflicts.
I don’t know that it’s fear. But some sod use a Lot of packages, and version conflicts do get ugly.
Rather than installing every package this way, why not wait until a conflict
actually occurs?
I used to do that — for years. But it really did cause problems.
The trick is that you have, say, your 57 apps all working. Then you need to update a package for one. As soon as you update, you have to go test your 57 apps, and if one of them is broken, you have to figure out how to deal with it.
Now you have 52 apps running in the main environment, and 5 running in their own... and you are on your way to an even harder to manage system.
The nice thing about environments is that once something is working, you’re not going to mess it up when working on something else. The stuff not being actively maintained can just hum along.
-CHB
Personally, I rarely have such conflicts, maybe every few years or so. When it
happens, I fix them by uninstalling the offender and putting the more difficult
one into the venv or pipx. Right now I only have one, a giant app from work
that uses pipenv, and it's fine.
Now what about sudo and all that? Well, I used it in the old days because
that's what the instructions said. But, to be honest, it never made any sense.
I agree — keep it all on user land.
-CHB