Live data from Hacker News

How to improve Python packaging

chriswarrick.com

1–10 of 204 posts

Re: How to improve Python packaging

#4
Regarding system package upgrades breaking virtual environments: would hard links address this? If the system package manager removes a file, your venv still has a hard link to it so it doesn't see a difference.

Re: How to improve Python packaging

#6
Cant resist digging at Node.js even when writing up how infinitely better Node.js is at dealing with packages than python, haha:

> Let’s try removing is-odd to demonstrate how badly designed this package is:

You literally just deleted is-even 's dependency on is-odd then have the audacity to be shocked that it broke?

There's a lot of hatred for the small package philosophy of node.js, but it's also a huge win, stands a good chance of being why javascript has been such a winner, gotten so far: very explicit small things that say what they do on the tin. Rather than repeat yourself by making a copy pasted is-even and then maintaining both, it makes perfect sense to compose functionality, to build off what we have. And it is easier to understand the scope of what a package is & what it can do when it is explicitly limited in scope.

This is another place where there is lots of loud vociferous animosity against what is, but it's there for good reason. And with rare rare exception- left-pad rage-quit deliberate breakage, for example, it serves well. With the exception that yes, inventorying your stuff is hard.

Re: How to improve Python packaging

#7
Because of the insanity of python I run everything in Docker (through compose). No more issues with it not working on some dev's computer because of a missing wheel, or that they need to have X and Y c++ toolchain packages installed locally etc. No more trying to fix a broken setup after upgrading python or poetry versions, just "docker compose build" and you're up and running. No spending days getting a freshly cloned project up and running.

Then I point Pycharm to use that as my remote interpreter through docker compose.

Not watertight, but a hundred times better dev experience.

Post reply on HN