anything very complicated. The only clever feature is that if the
first line of the script starts with \code{\#!} and contains the word
``python'', the Distutils will adjust the first line to refer to the
-current interpreter location.
+current interpreter location. By default, it is replaced with the
+current interpreter location. The '--executable=/-e' switch will
+allow the interpreter path to be explicitly overridden.
The \option{scripts} option simply is a list of files to be handled
in this way. From the PyXML setup script:
"compile extensions and libraries with debugging information"),
('force', 'f',
"forcibly build everything (ignore file timestamps)"),
+ ('executable=', 'e',
+ "specify final destination interpreter path (build.py)"),
]
boolean_options = ['debug', 'force']
self.compiler = None
self.debug = None
self.force = 0
+ self.executable = None
def finalize_options (self):
self.build_scripts = os.path.join(self.build_base,
'scripts-' + sys.version[0:3])
+ if self.executable is None:
+ self.executable = os.path.normpath(sys.executable)
# finalize_options ()
user_options = [
('build-dir=', 'd', "directory to \"build\" (copy) to"),
('force', 'f', "forcibly build everything (ignore file timestamps"),
+ ('executable=', 'e', "specify final destination interpreter path"),
]
boolean_options = ['force']
self.build_dir = None
self.scripts = None
self.force = None
+ self.executable = None
self.outfiles = None
def finalize_options (self):
self.set_undefined_options('build',
('build_scripts', 'build_dir'),
- ('force', 'force'))
+ ('force', 'force'),
+ ('executable', 'executable'))
self.scripts = self.distribution.scripts
def get_source_files(self):
outf = open(outfile, "w")
if not sysconfig.python_build:
outf.write("#!%s%s\n" %
- (os.path.normpath(sys.executable),
+ (self.executable,
post_interp))
else:
outf.write("#!%s%s\n" %
Library
-------
+- distutils build/build_scripts now has an -e option to specify the
+ path to the Python interpreter for installed scripts.
+
- PEP 292 classes Template and SafeTemplate are added to the string module.
- tarfile now generates GNU tar files by default.