I'm now firmly committed to PJE's setuptools/easy_install. It's invaluable as a way to make precompiled Python distributions available.
As part of our agile development tutorial at PyCon, Grig and I are developing an application. (More on the app anon: our first release is due by the end of the month.) The app depends on Durus and CherryPy, neither of which "just work" with easy_install on Windows.
For Durus, the problem is that it has a binary extension; you need a C compiler to build it.
For CherryPy, there's some issue with SourceForge download page breakage, and maybe something problematic with paths on Windows XP. (I haven't isolated the problem.)
So, I built eggs. I found a colleague upstairs, Brandon King, who had just gotten Windows compilation working for Python packages; after patching in
from setuptools import setupto the top of setup.py for both packages, 'python setup.py bdist_egg' produced nice, functional eggs.
They are available at
http://issola.caltech.edu/~t/dist/
and can be grabbed with
oreasy_install -f http://issola.caltech.edu/~t/dist/ Durus
easy_install -f http://issola.caltech.edu/~t/dist/ CherryPy
I'm still having some issues installing things on Python-naive boxes (that is, Windows boxes with just a standard install of Python) but that will have to wait for the first release. (FWIW, the problem will probably be fixed by building eggs for the pywin32 code.
PyPi
Now that I've been using PyPi and easy_install for a few weeks, I'd guess that about 80% of packages are directly and immediately installable via easy_install by typing 'easy_install package_name'. I've run across a bunch that aren't, though. Those include Zope3 and CherryPy; zope.testbrowser also had a problem, but I think that was an issue with the '.' in the middle of the name.
I would be very happy if it were possible to install every package on PyPi with easy_install, and it might be a worthwhile project to highlight those that can't, for whatever reason. Hmm, could become part of the Cheesecake project... a list of all the projects that don't work with easy_install, separated into lists of those that are easy_install's fault vs those that are the author's fault. (The latter would, of course, be in bright red with BLINK tags.) Perhaps we could even call the list "Sweaty Cheese" ;).
Another fantastically useful project would be to automatically download and build Windows and Mac OS X eggs for all of the PyPi projects. Hmm, there'd be some security issues, but I bet you could work something out with public keys where only packages authorized by some key authority would be automatically downloaded. Humm.
--titus