News for hackers. Stuff that matters.
Re:Ask HN: What small library or tool do you want that doesn... by moffkalast on Monday May 02, 2022 @06:14AM (#31233229)
A tool that checks your broken python/pip install and fixes it properly.

https://xkcd.com/1987/

Re:Ask HN: What small library or tool do you want that doesn... by sdflhasjd on Monday May 02, 2022 @06:19AM (#31233274)
I was just setting up a new Mac the other day, only to be surprised that this is _still_ an issue. All I had was XCode and Homebrew - everything fell apart when I tried to install ansible.
Re:Ask HN: What small library or tool do you want that doesn... by kretaceous on Monday May 02, 2022 @06:40AM (#31233432)
Throwback to the time when I accidentally did a `sudo apt remove python` in hopes of cleaning the python mess in my PC and broke my LM installation.
Re:Ask HN: What small library or tool do you want that doesn... by moffkalast on Monday May 02, 2022 @06:59AM (#31233563)
Apt has the big brained move of uninstalling half your system if you try to reinstall a core dependency instead of just setting the dependant packages as disabled while it's missing or something, ffs.
Re:Ask HN: What small library or tool do you want that doesn... by JettChenT on Monday May 02, 2022 @09:46AM (#31235041)
I don't think it's possible if you use a global environment for everything, as different packages might have conflicting dependencies. The best way to solve it is to separate environments. I personally prefer conda as it's fairly easy to create environments of any python version.
Re:Ask HN: What small library or tool do you want that doesn... by NavinF on Monday May 02, 2022 @06:34AM (#31233384)
There’s no solution. You gotta have a separate environment (e.g. a docker container) for each project. Each env has its own python version and requirements.txt
Re:Ask HN: What small library or tool do you want that doesn... by moffkalast on Monday May 02, 2022 @06:54AM (#31233524)
Not practical when you need something like ROS with rospy that needs to be global.

Python is putting its fingers in its ears singing "LALALALA USE A VENV" instead of fixing the damn ecosystem. Node and npm proved that a solution exists and it's doable.

Re:Ask HN: What small library or tool do you want that doesn... by CrispinS on Monday May 02, 2022 @10:06AM (#31235273)
There's a PEP for adding support for a __pythonpackages__ directory, similar to node_modules.

https://peps.python.org/pep-0582/

Unfortunately the PEP is from 2018 and is still being discussed. The last post in the comment thread is from February.

https://discuss.python.org/t/pep-582-python-local-packages-d...

That's unfortunate; until I went looking for citations I thought it was further along and actually scheduled for the next Python release.

Looks like there is a pip-alternative that implements the PEP, but I haven't played around with it yet.

https://pdm.fming.dev/

Re:Ask HN: What small library or tool do you want that doesn... by raverbashing on Monday May 02, 2022 @06:57AM (#31233543)
Poetry is almost that. It also takes 99% of the trouble of solving dependencies in pip files

(though the usual way it breaks is your python interpreter gets updated and the venv becomes useless)

Re:Ask HN: What small library or tool do you want that doesn... by moffkalast on Monday May 02, 2022 @07:01AM (#31233579)
This sounds interesting. I'll check it out, thanks :)