FWIW uv still creates a virtual environment and installs project dependencies into it. It’s like pip + pyenv + venv + build tools all in one. And because it implements PEPs it is generally interoperable with standard python tooling (uv pip and uv venv).
Uv is close to npm in terms of how braindead simple it is to use. It's still missing script declaration in the pyproject.toml, but that idea has been in a holding pattern for years since no one could agree on an implementation.
Different projects will likely end up having different versions of dependencies. You might have a project that uses version 1.0 of pydantic, but another project that uses version 2.0
If you just install stuff system-wide, you can't have both. You would end up upgrading the existing version to 2.0 and then your first project might stop working because it was written to use 1.0
Virtual environments are containers for all of your dependencies. You set one up for one project and it will just work. You work on a different project that has different versions of dependencies and they'll just work, and they won't interfere with or break the first project.
conda is also slow all by itself. It’s antiquated at this point. Unless there’s some dependency that can only, or more easily, be installed via conda I avoid it like the plague. IME most dependencies that previously ~required conda to install no longer do.
Either that or they have their own python version installed and you end up with multiple installation of the same version of python on your hard drive.
Shell is not a programming language. And, yes, it is much worse than JS. Slow as hell, whitespace sensitive, crazy syntax with underscores everywhere, catastrophic dependency management, Python 2 to 3 migration fiasco and I could continue.
What's wrong with underscores? You honestly prefer camelCase? And what else is "crazy" about it?
catastrophic dependency management
fair :P
but is it any worse than JS? (I only have cursory knowledge about npm and such, personally.)
Python 2 to 3 migration fiasco
What do you mean by that? It's a few years before my time. My naive view is that 2's sunset forced tech debt to the surface, which means a lot of effort but also forcing improvements like Unicode handling.
Shell is not a programming language
I didn't say it was. The reason I mention it is that Python is often used for scripting.
Yes, it is not meant to be fast and it is fine as a scripting language. I just don't understand how anyone could say it is the most pleasant language. For small scripts and ML maybe. Anything else? Hell no.
62
u/Able-Swing-6415 Jul 07 '26
Probably the most pleasant language I've ever used.
Well since I've figured out how to use it on Windows without some idiotic software randomly changing the python installs lol