code: function checkPythonLauncher () {
      this.checkPythonLauncherDepth += 1
  
      this.log.verbose(
          'could not find "' + this.python + '". checking python launcher')
      var env = extend({}, this.env)
      env.TERM = 'dumb'
  
      var launcherArgs = ['-2', '-c', 'import sys; print sys.executable']
      this.execFile('py.exe', launcherArgs, { env: env }, function (err, stdout) {
        if (err) {
          this.guessPython()
        } else {
          this.python = stdout.trim()
          this.log.verbose('check python launcher',
                           'python executable found: %j',
                           this.python)
          this.checkPythonVersion()
        }
        this.checkPythonLauncherDepth -= 1
      }.bind(this))
    }
docs: Distributions of Python on Windows by default install with the "py.exe" Python launcher which is more likely to exist than the Python executable being in the $PATH. Because the Python launcher supports all versions of Python, we have to explicitly request a Python 2 version. This is done by supplying "-2" as the first command line argument. Since "py.exe -2" would be an invalid executable for "execFile", we have to use the launcher to figure out where the actual "python.exe" executable is located.