[Python-Dev] Status of packaging in 3.3 (original) (raw)
David Cournapeau cournape at gmail.com
Thu Jun 21 11:28:17 CEST 2012
- Previous message: [Python-Dev] Status of packaging in 3.3
- Next message: [Python-Dev] Status of packaging in 3.3
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Thu, Jun 21, 2012 at 9:45 AM, Nick Coghlan <ncoghlan at gmail.com> wrote:
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: - what needs to be done to eliminate any need for monkeypatching - what's involved in making sure that *.pth are not needed by default - making sure that executable code in implicitly loaded *.pth files isn't used at all
It is not a PEP, but here are a few reasons why extending distutils is difficult (taken from our experience in the scipy community, which has by far the biggest extension of distutils AFAIK):
http://cournape.github.com/Bento/html/faq.html#why-not-extending-existing-tools-distutils-etc
While I believe setuptools has been a net negative for the scipy community because of the way it works and for the reason you mentioned, I think it is fair to say it is not really possible to do any differently if you rely on distutils.
If specifying install dependencies is the killer feature of setuptools, why can't we have a very simple module that adds the necessary 3 keywords to record it, and let 3rd party tools deal with it as they wish ? That would not even require speciying the format, and would let us more time to deal with the other, more difficult questions.
David -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20120621/17ea4630/attachment.html>
- Previous message: [Python-Dev] Status of packaging in 3.3
- Next message: [Python-Dev] Status of packaging in 3.3
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]