Blob Blame Raw
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!