Fascinating. It appears as though your virtualenv has both distribute 0.6.14 *and* setuptools 0.6c12dev on sys.path at the same time. However, I'm most curious about this one:

At 10:52 PM 9/26/2010 +0100, Jon Hadley wrote:
paster_plugins fez.atcsv 0.3 ()

This looks like an error to me, and one that *could* create the behavior being seen. Your app should not be defining the paster_plugins entry point; instead, you are supposed to just have a setup_requires=['PasteScript'] in order to take care of it.

What is probably happening now is that your package is claiming it implements this keyword argument, so any project that is built with your project on sys.path that uses this keyword (such as your own proejct) will try to add your project's runtime dependencies (i.e. setuptools and plone.app.z3cform) to sys.path. So, it tries to build those dependencies first.

However, at that point, it appears fez.atcsv is *also* providing an entry point for the paster_plugins.txt egg-info writer... which is even worse, because it affects *every* app built, not just ones that use the paster_plugins setup() keyword.

So, as soon as the dependency tries to build, it wants to have fez.atcsv built... so it tries to build fez.atcsv's dependencies... and so on, and so on, indefinitely.

Here's how to fix the problem:

First, remove all fez.atcsv-*.egg files or directories -- EVERYWHERE. Delete every last one off the system, no matter where it is.

Second, remove the entry_points.txt file from the fez.atcsv.egg-info/ directory within your project source.

Third and finally, remove the entire entry_points keyword from your setup() call in setup.py, and replace it with setup_requires=['PasteScript'].

This would probably be sufficient to fix the problem if setuptools were first on your sys.path, since it has fixes for PasteScript's internal build recursion; I do not know if it will fix the problem with distribute, unless you first make sure PasteScript's dependencies are all installed.

However, I'm pretty certain at this point that the bogus entry_points in your setup.py is the source of the entire problem, and explains why I could not reproduce it (as at no point would a copy of the broken fez.atcsv have been on my sys.path during any of my attempts, whereas it presumably was during most if not all of yours).

_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to