[Distutils] PEP439 and backward compat / easy_install / distlib

Nick Coghlan ncoghlan at gmail.com
Mon Mar 25 17:42:18 CET 2013

On Mon, Mar 25, 2013 at 9:23 AM, Nick Coghlan <ncoghlan at gmail.com> wrote:
> This can be handled in pip, by using the AST module to scan for
> setuptools imports in setup.py (or else by checking for a setuptools
> related ImportError after trying to run it). Yes, it's a hack, but I
> am *not* going to approve a PEP that further entrenches something even
> its creator would like to see waved off into the sunset, giving thanks
> for its good service :)

I would also be fine with a simpler version of this approach, which
works the way pip does now: if pip encounters a metadata 1.0 or 1.1
sdist, then it *assumes* "Setup-Requires-Dist: setuptools".

That way, if you give it an index with no setuptools and fully
populated with pre-built wheels, you can avoid deploying setuptools to
the target environment.

The bootstrap script itself should not install setuptools though -
it's up to pip to do that before running a setup.py file without the
explicit Setup-Requires-Dist support in metadata 2.0+


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

More information about the Distutils-SIG mailing list