>I don't want to have virtual environments and learn what the difference between pip, poetry and uv is. I don't care. I just want to run the code.
So this is skill issue, the blog post. `uv run` and PEP 723 solved every single issue the author is describing.
Any old enough language will have competing libraries that you need to learn in the long run too.
python packaging has been made usable by uv pretty recently.
before that it was a never ending series of approaches... that has now hopefully really been solved.
(uv is ironically not written in python, but, such is life)
It's a UX issue. The author is correct — nobody cares about all the mumbo-jambo virtualenvs or whatever other techno-babble.
The user
just
wants
to run
the damn program.
> `uv run` and PEP 723 solved every single issue the author is describing.
PEP 723 eh? "Resolution: 08-Jan-2024"
Sure, so long as you somehow magically gain the knowledge to use uv, then you will have been able to have a normal, table-stakes experience for whole 2 years now. Yay, go Python ecosystem!
Is uv the default, officially recommended way to run Python? No? Remember to wave goodbye to all the users passing the language by.
[dead]
While this is true, it is often stunning to me how long it took to get to `uv run`.
I have worked with Python on and off for 20+ years and I _always_ dreaded working with any code base that had external packages or a virtual environment.
`uv run` changed that and I migrated every code base at my last job to it. But it was too late for my personal stuff - I already converted or wrote net new code in Go.
I am on the fence about Python long term. I’ve always preferred typed languages and with the advent of LLM-assisted coding, that’s even more important for consistency.