I was getting the following error with Plone buildout
…
Develop: '/home/moo/workspace/collective.easytemplate' Traceback (most recent call last): File "/tmp/tmp_G8621", line 11, in ? File "/usr/lib/python2.4/site-packages/setuptools/command/easy_install.py", line 655, in install_eggs return self.build_and_install(setup_script, setup_base) File "/usr/lib/python2.4/site-packages/setuptools/command/easy_install.py", line 931, in build_and_install self.run_setup(setup_script, setup_base, args) File "/usr/lib/python2.4/site-packages/setuptools/command/easy_install.py", line 919, in run_setup run_setup(setup_script, args) File "/usr/lib/python2.4/site-packages/setuptools/sandbox.py", line 26, in run_setup DirectorySandbox(setup_dir).run( File "/usr/lib/python2.4/site-packages/setuptools/sandbox.py", line 63, in run return func() File "/usr/lib/python2.4/site-packages/setuptools/sandbox.py", line 29, in <lambda> {'__file__':setup_script, '__name__':'__main__'} File "setup.py", line 9, in ? return open(os.path.join(os.path.dirname(__file__), *rnames)).read() File "/usr/lib/python2.4/site-packages/setuptools/sandbox.py", line 166, in _open return _open(path,mode,*args,**kw) IOError: [Errno 2] No such file or directory: 'docs/HISTORY.txt' An internal error occured due to a bug in either zc.buildout or in a recipe being used: Traceback (most recent call last): File "/home/moo/workspace/Plone-3.1/eggs/zc.buildout-1.1.1-py2.4.egg/zc/buildout/buildout.py", line 1477, in main getattr(buildout, command)(args) File "/home/moo/workspace/Plone-3.1/eggs/zc.buildout-1.1.1-py2.4.egg/zc/buildout/buildout.py", line 324, in install installed_develop_eggs = self._develop() File "/home/moo/workspace/Plone-3.1/eggs/zc.buildout-1.1.1-py2.4.egg/zc/buildout/buildout.py", line 556, in _develop zc.buildout.easy_install.develop(setup, dest) File "/home/moo/workspace/Plone-3.1/eggs/zc.buildout-1.1.1-py2.4.egg/zc/buildout/easy_install.py", line 868, in develop assert os.spawnl(os.P_WAIT, executable, _safe_arg (executable), *args) == 0 AssertionError
My product had docs folder. HISTORY.txt was there properly. This made me scratch my head for a while.
Buildout calls easy_install as an external process. If easy_install eggs have dependencies in their setup.py easy_install tries to download and install these eggs.
There is no reported progress what eggs are installed in easy_install process created from buildout. Looks like buildout verbosity (-v) switch does not reach easy_install.
So the problem was not in my product, but in its dependency. However the debug output did not reveal that we were dealing with a dependency. Is there easy means to solve this kind of problems? I bluntly put debug prints inside my server wide setuptools Python files to known which was the faulty dependency.
It turned out that easy_install was trying to execute setup.py against a downloaded source distribution (.tar.gz). I had the same egg as a local source code copy. The source code contains docs folder, the egg doesn’t.
The solution was to change buildout.cfg develop directive to be the same as the flattened dependency order of the eggs (dependencies come top). This way setup.py was evaluated correctly against the source code folder.
shouldn’t flag -vvv gave you “all” output?
Could you guide me as to how I can change buildout.cfg develop directive to be the same as the flattened dependency order of the eggs?
Thanks!
I suggest you use plone-users support forum for asking help to get maximum possible audience.