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 authored and lukekarrys committed Dec 2, 2024
1 parent 5829faa commit 6fe5ecf
Showing 1 changed file with 16 additions and 10 deletions.
26 changes: 16 additions & 10 deletions lib/find-python.js
Original file line number Diff line number Diff line change
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 6fe5ecf

Please # to comment.