this post was submitted on 28 Nov 2024
456 points (88.3% liked)
Programmer Humor
32739 readers
254 users here now
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Python managed to turn me away before I wrote a single line of code.
Running an already functional project took me nearly two hours and three separate tutorials.
What's so difficult?
Hmm, I follow the package's readme and only get invalid command errors.
Gotta install the pip dependencies.
Oh but first you need to create a venv or everything will be global. Why isn't that local by default like with npm? Hell if I know!
Ah but before that I need to install the RIGHT version of Python. The one I already have likely won't do. And that takes AGES.
Oh but even then still just tells me the command is invalid. Ah, great, I live CLIs. Now I've gotta figure out PATH variables again and add python there. Also pip maybe?
Now I can follow the readme's instructions! Assuming I remember to manually open the venv first.
But it only gives me errors about missing pieces. Ugh. But I thought I installed the pip dependencies!
Oh, but turns out there's something about a text file full of another different set of dependencies that I need to explicitly mention via CLI or they won't be installed. And the readme didn't mention that, because that's apparently "obvious". No it's not; I'm just a front-end developer trying to run the darn thing.
Okay. Now it runs. Finally. But there's a weird error. There might be something wrong with my .env file. Maybe if I add a print statement to debug... Why isn't it showing up?
Oooh, I need to fully rebuild if I want it to show up, and the hot reload functionality that you can pass a command line argument for doesn't work... Cool cool cool cool.
yeah, all that setup sucks even after being writing python for years.
Nowadays I've been running every project with
uv
and it's a much better and faster experience, usually in 3 steps: 1. initialize, 2. add dependencies, 3. run project:Then in future runs (as long as you have the pyproject.toml), you can just do
uv run main.py
(shorthand touv run python main.py
), even when there's no venv created. No more activating virtual envs. No more long interpreter installations. No more accidentally messing with system's packages or the PATH variable. With theuv.lock
that's also a lot more reliable to reproduce thanrequirements.txt
and similar.Yeah package system is a nightmare in python I'm so spoiled if Rust that I find it hard to enjoy another language...
This does not reflect my experience with python at all. Except the version thing used to be a thing. Not really any more.
This has way more to do with that specific project being poorly written/not documenting things well than any shortcomings in Python