logoalt Hacker News

short_sells_poo12/09/20245 repliesview on HN

I'm loving how we're just 3 levels down into "python installers/package management" and it's already a heap of radioactive waste. Within 3 comments, 6 different python packaging and/or environment management tools were mentioned, and as a seasoned python user, I haven't even heard of direnv yet. Every week, a new pip/py/v/dir/fuck/shit/tit/arse -env tool emerges and adds to the pile of turd that is python packaging. It's truly getting to parody level of incompetence that we are displaying in the python community here.


Replies

d0mine12/09/2024

You know: uv works, pipenv works (even in 2024), pyenv works, direnv (non-Python but fits my use cases), pipx works, pip-tools work, pip/python -m venv/virtualenv work, poetry works (in its own opinionated way), apt/dnf/apk, etc work

uv manages python binaries, user python tools, venvs, project/script dependencies, lock files. Other tools do less or different e.g., pipenv may use pyenv to install the desired python version.

I've used all of these tools successfully (at different times and/or for different use cases).

uv is the best attempt to circumvent "no size fits all" so far.

If you think a language that has just one tool is better, then it just means your use-cases are very narrow.

I don't know any other language that have such variety of users, applications (besides C). There may be more popular languages but nothing with such range.

show 2 replies
djbusby12/09/2024

Well, direnv isn't a python specific tool.

show 1 reply
rtpg12/09/2024

I think there's a simpler explanation here.

pip solved a lot of baseline problems. It doesn't solve all of them. There were a bunch of failed attempts to be "better pip". They have not worked, really, but people stick around to some tools despite this.

I do think uv is different, on account of working and being very reactive to ecosystem pains.

(direnv is not Python-specific! It's just a tool to set env vars in a directory. But because Python venv's can work through setting two env vars....)

vimto12/09/2024

haha, thank you for summarising my thoughts on python package management... and very few people have mentioned poetry which is what we and most teams I know use.

show 1 reply
aaronbrethorst12/09/2024

;-)