[Distutils] Builders vs Installers

Nick Coghlan ncoghlan at gmail.com
Thu Mar 28 03:05:38 CET 2013


On Thu, Mar 28, 2013 at 11:43 AM, Donald Stufft <donald at stufft.io> wrote:
> I don't think you can, nor should you be able to, explicitly depend on something that is a VCS checkout.

I find it more useful to think of the issue as whether or not you
allow publication of source tarballs to satisfy a dependency, or
*require* publication of a fully populated sdist. If you allow raw
source tarballs, then you effectively allow VCS checkouts as well. I
prefer requiring an explicit publication step, but we also need to
acknowledge that the installer ecosystem we're trying to replace
allows them, and some people are relying on that feature.

However, as I've said elsewhere, for metadata 2.0, I *do not* plan to
migrate the archiving or build steps away from setup.py. So "give me
an sdist" will be spelled "python setup.py sdist" and "give me a wheel
file"  will be spelled "python setup.py bdist_wheel".

There's also an interesting migration problem for pre-2.0 sdists,
where we can't assume that "python setup.py bdist_wheel && pip install
<created wheel>" is equivalent to "python setup.py install": projects
like Twisted that run a post-install hook won't install properly if
you build a wheel first, since the existing post-install hook won't
run.

It's an interesting problem, but one where my near term plans amount
to "document the status quo".

Cheers,
Nick.

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


More information about the Distutils-SIG mailing list