Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It's kind of frustrating to deal with python stuff as an user. I wish it didn't have to be like this, because there's a lot of interesting stuff written in python that's nearly impossible to get to run.

There are too many environemnt systems (conda, venv, I think I'm forgetting one more), not all of them build or ship on all systems, then you need to manage them, and sometimes to have the exact correct python version installed because god help you if you're on 3.12 and not 3.11; and set as PATH for pip to find the correct dependencies, but you need to do that before you set up your venv and run pip, otherwise you need to tear that down and star tover. Sometimes the dependencies build, and break, because some package is missing from your system.

It's kind of a miserable experience.



With luck, `uv tool install` [1] will solve most of the frustrations with Python programs on Linux/Mac/Windows, since uv combines the functionality of pipx and pyenv and doesn't itself depend on Python. It is a single binary that manages Python interpreters and project environments. uv is very actively developed and seems to be rapidly gaining adoption. It makes me optimistic about its future (and, correspondingly, pessimistic about the future of Python tooling that competes with it).

I already have a success story of helping a friend install ArchiveBox [2] with uv. ArchiveBox required an older version of Python than their system had. The quickest and easiest solution I could think of was:

  pipx install uv
  uv tool install --python 3.8 archivebox
You could also install uv by other means.

[1] https://docs.astral.sh/uv/concepts/tools/

[2] https://archivebox.io/


> imagine here the xkcd comic about standards

These tools come and go in the Python world... It's basically like JavaScript frameworks. It seems that people recommend a different one every month


Yes, just like this. Since 2015 when I started work professionally with python, after each year, a new project shows some kind of "messiah complex" around the python distributing software problem... They usually say in some part of the readme: "That time we will be saved! We have the right tool here that does this and that".

No, it's not solved! And probably will not be solved neither.

Obviously, things get better honestly, 2015 was far worst than now, but currently it's very far from perfect.

For instance, go static build are much superior. Or even Rust, with all the language issues, at least the tooling is good and the software distribution works great.


Yeah uv works great - that --python in your example can even be awkward pythons like [email protected] (provided pypy works on your OS/arch combo)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: