diff --git a/Lib/distutils/cmd.py b/Lib/distutils/cmd.py index c89d5ef..dd61621 100644 --- a/Lib/distutils/cmd.py +++ b/Lib/distutils/cmd.py @@ -296,7 +296,8 @@ class Command: finalized command object. """ cmd_obj = self.distribution.get_command_obj(command, create) - cmd_obj.ensure_finalized() + if cmd_obj is not None: + cmd_obj.ensure_finalized() return cmd_obj # XXX rename to 'get_reinitialized_command()'? (should do the diff --git a/Lib/distutils/command/install.py b/Lib/distutils/command/install.py index 8174192..30ca739 100644 --- a/Lib/distutils/command/install.py +++ b/Lib/distutils/command/install.py @@ -122,6 +122,8 @@ class install(Command): "force installation (overwrite any existing files)"), ('skip-build', None, "skip rebuilding everything (for testing/debugging)"), + ('executable=', 'e', + "specify final destination interpreter path (install.py)"), # Where to install documentation (eventually!) #('doc-format=', None, "format of documentation to generate"), @@ -194,6 +196,7 @@ class install(Command): # directory not in sys.path. self.force = 0 self.skip_build = 0 + self.executable = None self.warn_dir = 1 # These are only here as a conduit from the 'build' command to the @@ -365,6 +368,9 @@ class install(Command): ('build_base', 'build_base'), ('build_lib', 'build_lib')) + if self.executable is None: + self.executable = os.path.normpath(sys.executable) + # Punt on doc directories for now -- after all, we're punting on # documentation completely!