On 12 September 2000, Rene Liebscher said:
- If the install command had a '--force' option, which lets install ignore file dates, you could overwrite manipulated installations with the original files.
Good idea, especially since the "install" command needs to get *more* paranoid about overwriting old files.
...OK, I've just made that change to install*.py. Boy, we need a better way to add an option to a whole family of commands. ;-(
Anyways, it works for me when installing the Distutils. Please give it a try on something that includes data, scripts, etc. Hmmm, maybe I'll give it a shot on my Distutil-ized IDLE... that's got modules, data files, and a script!
...OK, it works, but it revealed a subtle bug in my IDLE setup script. D'ohh! Oh well, this is an excuse to repost said setup script to python-dev and prod Guido about distutil-izing IDLE. ;-) Good demo of packaging a real Python app, if nothing else.
- If you are using two or more different python versions on your computer, and you want to install a package which contains C-compiled extensions, then you have to delete the build directory before you can install the package with another version of python or you use build with the '--force' option. In any case you have to force distutils to rebuild all extensions because they were compiled using a wrong version of python.
Hmmm, good point. I'm always wary of over-differentiation leading to unworkably long directory names, but I think this one is worthy. However, I don't like the idea of having multiple top-level "build" directories; I'd rather the sub-directories of "build" incorporated the Python version along with the platform info that they already include.
This means there should probably be a function somewhere to take a plain vanilla directory name and "differentiate" it -- eg. build/lib -> build/lib-1.6 or build/temp -> build/temp.linux-i586-1.6. Or something like that. Can you rework your patch to do this? I think the commads to hit are build_* and bdist_*.