Fun distutils factoid of the day:
python setup.py cleandoesn't remove your build/lib.* directories, so C++ extensions don't get recompiled. You have to do a
python setup.py clean --allto force recompilation.
I think this is a documentation bug, since --help-commands says clean - clean up output of 'build' command rather than clean - clean up temp files from 'build' command.
As long as I'm complaining, why does
python setup.py --helpreturn so little useful information for package installers? You have to run
python setup.py --help-commandsto get a list of actual commands! This is a fine example of behavior built around programmers rather than users, I think ;).
I ran across the 'clean' issue because I have some C++ extension files that depend on a C++ library. I don't know how to make my setup.py care about the modification date of that library file, so my extension files are perenially out of date with respect to my actual library code.
The help-commands issue is something I run across every time I try to understand the distutils command line options.
...but enough whining. Here's something useful, instead ;). I ran across this cool OS X software today: my friend Nathan blogged about appscript, which together with Platypus make it easy to build & release simple Python apps for OS X. Very neat!