[Distutils] Improving setuptools bootstrapping
Jim Fulton
jim at zope.com
Tue Sep 5 16:48:18 CEST 2006
On Sep 1, 2006, at 7:35 PM, Phillip J. Eby wrote:
...
> Right now, ez_setup.py is used for two purposes. First, you can
> include it in a source package in order to be able to use
> setuptools. Second, it's also used as a way of installing
> setuptools in a standalone setting.
...
> So, perhaps we should move to doing something like this: when you
> run a setup.py that's using ez_setup(), and it appears necessary to
> download/install setuptools, a message is displayed, something like:
....
> This would reduce ez_setup.py to hardly any code at all.
>
> Pros:
> * Net-less installs are less painful
> * Users don't get surprised by "setup.py install" trying to
> access the net
> * No version skew or missing version issues
> * Users can install system packages (RPM, .exe, etc.) of setuptools
>
> Cons:
> * Manual step for new setuptools adopters (but who's left?)
> * Might break setuptools-wrapping programs (like zc.buildout and
> Enstaller) if they rely on ez_setup
> * Developers might not want to switch to this new approach, if
> they feel the manual step is unwieldy
>
>
> Does anybody have any thoughts on this, one way or the other?
+1
However, this only addresses the first use case above. I still like
ez_setup for the second use case. In particular, the zc.buildout
bootstrap script lets ez_setup do most of it's work. It downloads a
fresh copy of ez_setup and uses it to download setuptools and
zc.buildout. Part of what makes this work is the fact that ez_setup
has a well-known URL, so my bootstrap script,
http://svn.zope.org/zc.buildout/trunk/bootstrap/bootstrap.py?
view=auto can be pretty stupid and minimal.
Of course, if ez_setup went away, I'd cope. :)
Jim
--
Jim Fulton mailto:jim at zope.com Python Powered!
CTO (540) 361-1714 http://www.python.org
Zope Corporation http://www.zope.com http://www.zope.org
More information about the Distutils-SIG
mailing list