[Python-Dev] Status of packaging in 3.3 (original) (raw)

Nick Coghlan ncoghlan at gmail.com
Thu Jun 21 10:45:58 CEST 2012


On Thu, Jun 21, 2012 at 2:44 PM, Chris McDonough <chrism at plope.com> wrote:

All of these are really pretty minor issues compared with the main benefit of not needing to ship everything with everything else. The killer feature is that developers can specify dependencies and users can have those dependencies installed automatically in a cross-platform way.  Everything else is complete noise if this use case is not served.

Cool. This is the kind of thing we need recorded in a PEP - there's a lot of domain knowledge floating around in the heads of packaging folks that needs to be captured so we can know what the addition of packaging to the standard library is intended to fix.

And, like it or not, setuptools has a serious PR problem due to the fact it monkeypatches the standard library, uses *.pth files to alter sys.path for every installed application by default, actually uses the ability to run code in *.pth files and has hard to follow documentation to boot. I don't trust that I fully understand the import system on any machine with setuptools installed, because it is demonstrably happy to install state to the file system that will affect all Python programs running on the machine.

A packaging PEP needs to explain:

I think trying to achieve this is actually the genesis of the original distribute fork, that subsequently became distutils2 as Tarek discovered how much of the complexity in setuptools was actually due to the desire to not officially fork distutils (and instead monkeypatch it, effectively creating a runtime fork).

However, for those of us that weren't directly involved, this is all still a strange mystery dealt with by other people. I've cribbed together bits and pieces just from following the fragments of the discussions that have happened on python-dev and at PyCon US, but if we want the madness to ever stop, then the problems with the status quo need to be written down so that other core developers can understand them.

In fact, I just remembered that Tarek has written a lot of this down, just not in PEP form: http://www.aosabook.org/en/packaging.html

Cheers, Nick.

-- Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia



More information about the Python-Dev mailing list