[Distutils] setup.py script using python interpreter from previous run

Friedrich Romstedt friedrichromstedt at gmail.com
Wed Nov 10 12:07:35 CET 2010


2010/11/9 Tarek Ziadé <ziade.tarek at gmail.com>:
> Since we're adding the "configure" command that will let install have
> an access to all build options that were used, (still in Eric's
> branch)
> we should be able to know where the script is in the build tree, and
> check in install_scripts that its not outdated with the file
> timestamps + checking the shebang line.
>
> Or... keep in that configure file the path to the interpreter and just
> rebuild all scripts in case the interpreter has changed.

In my opinion it might be worthy storing some combination (interpreter
path, interpreter build no).  Case study: For building some binaries,
we are using both py2.7-macosx10.3 and py2.7-macosx10.5 on Mac OS X
(obviously), which are different builds but must be installed to
exactly the same default location (some technicalities).  Of course
only one of them is installed at a time.  We just recently ran into an
error (failure) where we think we used py2.7-10.3 built binaries to
make a py2.7-10.5 installer (or vice versa).  This came so because the
build directory was reused.

A solution might be to include the build number or something similar
in the build/anything-something directory name.

Maybe just add a hash of the tuple (installer path, build no) in the
build directory's name?

Obviously, then both interpreter path change as well as interpreter
build number change would lead to another build directory.  Might be
useful to be able to use different Pythons in parallel for parallel
builds.

One could add whatever is needed later to the hashed tuple without
breaking compatibility.  (E.g., build options :-)

Friedrich


More information about the Distutils-SIG mailing list