Also, it’s not the 2000s any more. Using venv to isolate application installs is not very hard anymore and there have been decent package managers for a long time.
Also, it’s not the 2000s any more. Using venv to isolate application installs is not very hard anymore and there have been decent package managers for a long time.
Arrogantly wrong.
I've coded in Python for almost 20 years. Many of those years I've had it as my primary language at work.
2024 was the first year I actually needed a virtualenv. Before that, I'd happily use pip to install whatever I want, and never had a version conflict that caused problems.
I often encounter junior folks who default to using a virtualenv, not because they need to, but because they've been brainwashed into believing that "you're doing it wrong if you don't use one".
In any case, people should use uv these days.
but yes, pip predates the paradigm of package managers managing your dependency file instead of you managing your dependency file and then invoking the package manager
- all generated console scripts hardcode the path to python during creation for the shebang
- some of the binaries generated by install processes can link to absolute paths in the venv
Conda does quite a bit of work under the hood to reduce disk space and ran into related issues described here: https://docs.conda.io/projects/conda/en/stable/dev-guide/dee...
It's wise to keep silent in such cases.
Okay I'll bite: how did you deal with situations where you needed to work on two different projects that required different versions of the same dependency?
Pip is focused on installing the packages, not really "managing" them. The problem is that there are quite a few different takes on what "management" should entail. That's where all the alternatives are coming from.
But also, ignoring things pip isn't meant to do like version management and just focusing on installing, pip's default of installing to some unclear system location was always confusing, particularly when Py2 vs 3 was a thing.
Pip is fine. It's been fine for at least the last 5 to 10 years.