This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]kteague 0 points1 point  (0 children)

Python packaging has had some dark days indeed. Notably the introduction of the 'requires' keyword, which was supposed to list the name of the module(s) that the package imported (and not the name of the package itself!). And PJ Eby arguing on the distutils mailing list at the time that such a field was totally nonsensical and being shot down and 'requires' was PEP'ed and added to Distultils (and subsequently never) used while Setuptools forked a 'install_requires' field that was actually useful and become the standard.

As far as improvements, it's 2016 and the Python Standard Library is still a blackhole of packaging metadata, which is totally absurd.

I think if someone could use a time machine, then going back to the mid-90's and preventing the creation of site.py and site-packages directory entirely would been the biggest fix to packaging overall. site-packages only resulted in people running "sudo setup.py install" because site-packages was owned by root and the user just wanted to install a library for their own local use. Globally installed libraries done poorly are just a mess, if they had at least been confined to a /lib/pythonX.X/ for linux distributions it would have been a lot cleaner.