Skip to content

Commit

Permalink
lib: find python checks order changed on windows (#2872)
Browse files Browse the repository at this point in the history
These changes favor py launcher over other checks excluding command line
or npm configuration and environment variable checks.

Also, updated supported python versions list.

Fixes: #2871
  • Loading branch information
StefanStojanovic committed Jun 22, 2023
1 parent 192eec2 commit b030555
Showing 1 changed file with 16 additions and 10 deletions.
26 changes: 16 additions & 10 deletions lib/find-python.js
Expand Up @@ -14,7 +14,7 @@ const programFiles = process.env.ProgramW6432 || process.env.ProgramFiles || `${
const programFilesX86 = process.env['ProgramFiles(x86)'] || `${programFiles} (x86)`

const winDefaultLocationsArray = []
for (const majorMinor of ['39', '38', '37', '36']) {
for (const majorMinor of ['311', '310', '39', '38']) {
if (foundLocalAppData) {
winDefaultLocationsArray.push(
`${localAppData}\\Programs\\Python\\Python${majorMinor}\\python.exe`,
Expand Down Expand Up @@ -113,7 +113,20 @@ PythonFinder.prototype = {
},
check: this.checkCommand,
arg: this.env.PYTHON
},
}
]

if (this.win) {
checks.push({
before: () => {
this.addLog(
'checking if the py launcher can be used to find Python 3')
},
check: this.checkPyLauncher
})
}

checks.push(...[
{
before: () => { this.addLog('checking if "python3" can be used') },
check: this.checkCommand,
Expand All @@ -124,7 +137,7 @@ PythonFinder.prototype = {
check: this.checkCommand,
arg: 'python'
}
]
])

if (this.win) {
for (let i = 0; i < this.winDefaultLocations.length; ++i) {
Expand All @@ -138,13 +151,6 @@ PythonFinder.prototype = {
arg: location
})
}
checks.push({
before: () => {
this.addLog(
'checking if the py launcher can be used to find Python 3')
},
check: this.checkPyLauncher
})
}

return checks
Expand Down

0 comments on commit b030555

Please sign in to comment.