From c255ffbf6adc6b60cb39fa1aa40bfc8eb45f80ac Mon Sep 17 00:00:00 2001 From: DeeDeeG Date: Fri, 15 May 2020 01:38:58 -0400 Subject: [PATCH] lib: drop "-2" flag for "py.exe" launcher Now that node-gyp supports both Python 2 and Python 3, We don't need to explicitly try to find only Python 2. Fixes: https://github.com/nodejs/node-gyp/issues/2130 Refs: https://docs.python.org/3/using/windows.html#launcher PR-URL: https://github.com/nodejs/node-gyp/pull/2131 Reviewed-By: Christian Clauss Reviewed-By: Rod Vagg --- lib/find-python.js | 11 +++-------- test/test-find-python.js | 3 +-- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/lib/find-python.js b/lib/find-python.js index 43bf85985a..af269de2fc 100644 --- a/lib/find-python.js +++ b/lib/find-python.js @@ -119,7 +119,7 @@ PythonFinder.prototype = { checks.push({ before: () => { this.addLog( - 'checking if the py launcher can be used to find Python 2') + 'checking if the py launcher can be used to find Python') }, check: this.checkPyLauncher }) @@ -188,15 +188,10 @@ PythonFinder.prototype = { // 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. checkPyLauncher: function checkPyLauncher (errorCallback) { this.log.verbose( - `- executing "${this.pyLauncher}" to get Python 2 executable path`) - this.run(this.pyLauncher, ['-2', ...this.argsExecutable], false, + `- executing "${this.pyLauncher}" to get Python executable path`) + this.run(this.pyLauncher, this.argsExecutable, false, function (err, execPath) { // Possible outcomes: same as checkCommand if (err) { diff --git a/test/test-find-python.js b/test/test-find-python.js index 6ca522a04c..6be887f7eb 100644 --- a/test/test-find-python.js +++ b/test/test-find-python.js @@ -146,14 +146,13 @@ test('find python - no python2, no python, unix', function (t) { }) test('find python - no python, use python launcher', function (t) { - t.plan(4) + t.plan(3) var f = new TestPythonFinder(null, done) f.win = true f.execFile = function (program, args, opts, cb) { if (program === 'py.exe') { - t.notEqual(args.indexOf('-2'), -1) t.notEqual(args.indexOf('-c'), -1) return cb(null, 'Z:\\snake.exe') }