2007-10-30 20:54:09 |
Ross Patterson |
description |
A projects which using ez_setup in its setup.py as described in:
http://peak.telecommunity.com/DevCenter/setuptools#id23
...seems not to play nicely with zc.buildout.
To reproduce make an empty directory and download ez_setup.py and
bootstrap.py into it:
http://peak.telecommunity.com/dist/ez_setup.pyhttp://svn.zope.org/*checkout*/zc.buildout/trunk/bootstrap/bootstrap.py
Then make an empty setup.py::
#!/usr/bin/env python
import ez_setup
ez_setup.use_setuptools()
from setuptools import setup
setup(name='foo')
Make an empty buildout.cfg::
[buildout]
develop = .
Then bootstrap buildout::
$ python bootstrap.py -v
Finally run buildout. Note that an error occurs importing ez_setup::
$ bin/buildout -v
Installing 'zc.buildout', 'setuptools'.
We have the best distribution that satisfies 'zc.buildout'.
Picked: zc.buildout = 1.0.0b30
We have the best distribution that satisfies 'setuptools'.
Picked: setuptools = 0.6c7
Develop: '/tmp/foo/.'
Traceback (most recent call last):
File "/tmp/tmpsDYTIA", line 10, in ?
execfile('/tmp/foo/./setup.py')
File "/tmp/foo/./setup.py", line 2, in ?
import ez_setup
ImportError: No module named ez_setup
While:
Installing.
Processing develop directory '/tmp/foo/.'.
An internal error occured due to a bug in either zc.buildout or in a
recipe being used:
AssertionError: |
Projects using modules in the project distribution root in their setup.py fail when used in the buildout develop option.
This can be reproduced, for example, by using ez_setup as described in:
http://peak.telecommunity.com/DevCenter/setuptools#id23
To reproduce make an empty directory and make an empty module, bar.py in the directory:
"""Empty bar module"""
Download bootstrap.py into it:
http://peak.telecommunity.com/dist/ez_setup.pyhttp://svn.zope.org/*checkout*/zc.buildout/trunk/bootstrap/bootstrap.py
Then make a setup.py that imports foo::
#!/usr/bin/env python
import bar
from setuptools import setup
setup(name='foo')
Make an buildout.cfg that passes the project to the develop option::
[buildout]
develop = .
Then bootstrap buildout::
$ python bootstrap.py -v
Finally run buildout. Note that an error occurs importing ez_setup::
$ bin/buildout -v
Installing 'zc.buildout', 'setuptools'.
We have the best distribution that satisfies 'zc.buildout'.
Picked: zc.buildout = 1.0.0b30
We have the best distribution that satisfies 'setuptools'.
Picked: setuptools = 0.6c7
Develop: '/tmp/foo/.'
Traceback (most recent call last):
File "/tmp/tmpsDYTIA", line 10, in ?
execfile('/tmp/foo/./setup.py')
File "/tmp/foo/./setup.py", line 2, in ?
import bar
ImportError: No module named bar
While:
Installing.
Processing develop directory '/tmp/foo/.'.
An internal error occured due to a bug in either zc.buildout or in a
recipe being used:
AssertionError: |
|