Python has learned a lot from the JavaScript ecosystem, including optional type hints, async concurrency, and the absolute worst dependency management system imaginable.
Comments
Log in with your Bluesky account to leave a comment
"It all works again, yay!"
pager: "conda + pyenv + uv :. wrong python interpreter using the wrong sys.path and pipx run doesn't work when I try test the flappy bird game I had an llm write for me"
Pip is package management. Pipx is package management focused on addressable CLI tools, venv is an encapsulation of pip installs localized to a project, poetry (or hatch preferably) wraps all of those up into a project definition orchestrating them together.
Part of the problem is that Python is a load-bearing part of MacOS and Linux so you can’t just upgrade or change it without breaking core system functionality
- pip is the package manger
- pipx installs packages as cli commands
- venv creates virtual environments
- uv and Poetry combine those and more to consolidate project management and provide a declarative interface beyond requirements.txt
I beef with python, but unfortunately making tools in C sounds like ass. What python does well, i like. Unfortunately dealing with venv and having to download libraries with abysmal documentation have really soured my feelings on python.
I don’t use a lot of libraries in C or asm, and the ones I do are extremely well documented. I think one out of three python libraries i’ve used were rocking outdated or incomplete docs
i mainly use open source dev kits which usually have a couple people who do documentation so I haven't had any issues with this yet? though the ds dev kit is looking pretty sketch so i might run into this pretty soon.
I mean why blame Python if the Third Party is the one responsible for actually making the documentation?
It's like complaining to an airline that you had a horrible vacation because the hotel you stayed in sucks. (Unless the hotel is wholly owned by the airline).
I’m complaining about the trip as a whole. If the hotel stay was bad, that’s gonna affect the entire experience.
Nothing i say is objective, it’s purely opinionated and based on my experiences. And my experience is that python libraries are part of what i did in python. The language itself is fine
Well to start with unless you use a secondary tool like hatch, pip is incapable of dependency graph resolution. It cannot resolve two constraints against one another for one package included by two other dependencies (very common)
This isn't really a problem... Anywhere else that I've encountered
Comments
"It all works again, yay!"
pager: "conda + pyenv + uv :. wrong python interpreter using the wrong sys.path and pipx run doesn't work when I try test the flappy bird game I had an llm write for me"
If you can include conda make it a Nobel Prize
I hate all of it
venv provides for graceful management of packages separated by namespace
pyenv provides for graceful management of Python versions separated by namespace
cf the original comment about the Turing Award
The former is called "platform-python" and it's not even in $PATH.
The latter is "python3.x" and goes into $PATH.
Blame the OS maintainers for not doing this in the first place.
- pipx installs packages as cli commands
- venv creates virtual environments
- uv and Poetry combine those and more to consolidate project management and provide a declarative interface beyond requirements.txt
c_praf_bingo: bingos the c_praf
I've learned nothing here
// Increase counter by one
counter++;
// Return the adjusted counter
return counter;
*facepalms*
🤦🏼♀️
It's like complaining to an airline that you had a horrible vacation because the hotel you stayed in sucks. (Unless the hotel is wholly owned by the airline).
Nothing i say is objective, it’s purely opinionated and based on my experiences. And my experience is that python libraries are part of what i did in python. The language itself is fine
Why is it "absolute worst".
Where is the comparison between different "dependency management systems" of other languages.
This isn't really a problem... Anywhere else that I've encountered