3 ms·
It's funny that a lot of Python's design hinges around having "one right way to do it", which is a strength of the language, and yet there's a million different
by yen223 11y ago
It's funny that a lot of Python's design hinges around having "one right way to do it", which is a strength of the language, and yet there's a million different ways to do packaging.
Python really needs one, and only one, true way to do packaging, but I think it's too late for that to happen now.
- moonbug 11y agoPython's reputation for being clean is largely an artifact of it being a contemporary of PHP:
- krapp 11y agoAnd yet PHP wound up with a fairly decent package manager when Composer showed up. Although it's becoming more and more common to require NPM as well for PHP development now, apparently.
- antod 11y agoWell there is only one way in the standard lib (distutils). But it is so old and limited that practically nobody wants to use it in its vanilla state. The ongoing work to modernise stdlib and to incorporate the best parts of the various alternatives in a compatible way while balancing the sometimes conflicting needs of devs on windows, devs on *nix, sysadmins, distro packagers etc is very complex. It will take a long time to sort out in an evolutionary incremental way. Part of the problem is that the 3rd party tools they are trying to improve/replace were never fully specified or understood. There are a lot of corner cases to find. There is slow progress being made though.
- crdoconnor 11y agoPackaging is usually something that is hacked together to fulfil some quick requirement and then has all sorts of things bolted on afterwards. It's very rarely designed well from the ground up. The overhang of backwards incompatibilities hangs around forever, too. Every time you invent a new and better way of doing it you have to continue supporting the old way for years. People will keep doing things the old way forever, too. Python's package manager has many flaws I find that it generally works okay. I tried Go out a few months ago and once I saw that their approach to package management was to point your code at a github repository I backed away slowly and didn't look back.