[Distutils] Distribute and zc.buildout + bootstraping file names + release/branches roadmap
Chris Withers
chris at simplistix.co.uk
Thu Aug 6 16:29:30 CEST 2009
Tarek Ziadé wrote:
>>> a/ add "distribute" to the required eggs in your buildout cfg file
>> Why is this needed? No one has needed to specify setuptools as a dependency
>> previously, so why should they have to specify distribute now?
>
> for the scripts created in zc.recipe.egg sections, so distribute is
> included in the sys.path
> since this recipe re-creates it.
Am I right in thinking this wouldn't be needed if zc.buildout and
zc.recipe.egg both depended on distribute rather than setuptools?
>>> the distribute egg. Last, the setuptools egg is faked and you wil
>>> notice that it's empty. This has to be done so zc.buildout and any
>>> software
>>> out there that has a hardcoded dependency on setuptools thinks it's
>>> present.
>> I think this is a bad idea. It can't be that hard to patch buildout to use
>> distribute instead of setuptools. Running s/setuptools/distribute should do
>> it...
>
> but as I explained earlier, even if buildout uses distribute, you
> can't prevent an egg
> out there to have an install_requires with setuptools, leading to the
> mentionned problem
> (the install battle)
Would it be possible for distribute to raise an error if a package
relied on setuptools? I don't see why a third party egg would have
install_requires contain setuptools if it's already running from
buildout, but it feels better to me to be explicit and raise an error
than lie by creating a fake egg. I know fake eggs are popular in the
plohn community, but I'd prefer not to drag that abomination in the
wider python world.
To recap: I think it makes sense for distribute to complain if something
explicitly asks for setuptools since, by definition, both the distribute
and setuptools distributions can't be made available at the same time.
>>> 2/ bootstraping file names
>>>
>>> To avoid any confusion, I've changed distribute's bootstrap file name.
>>> So we will have:
>>>
>>> - ez_setup.py = setuptools bootstrap file
>>> - bootstraping.py = distribute bootstrap file
>>> - bootstrap.py = zc.buildout bootstrap file
>> Now you've lost me... What is bootstrap[p]ing.py versus the bootstrap.py
>> that comes with distribute?
>
> bootstraping.py replaces ez_setup.py
Oh Tarek, you really do know how to pick names...
Any chance you could switch this to distribute_setup.py or maybe
d_setup.py to avoid dumb people like me constantly confusing the two?
Chris
--
Simplistix - Content Management, Batch Processing & Python Consulting
- http://www.simplistix.co.uk
More information about the Distutils-SIG
mailing list