Rollup merge of #104350 - SparkyPotato:fix-x-wrapper, r=jyn514
Fix x finding Python on Windows `x` searches through the path for `{dir}/python{2|3}?`, but this fails on Windows because the appropriate path is `{dir}/python.exe`. This PR adds the expected `.exe` extension on Windows while searching.
This commit is contained in:
commit
aa29a8b4c7
@ -8,7 +8,8 @@
|
|||||||
//! `x.py`, in that order of preference.
|
//! `x.py`, in that order of preference.
|
||||||
|
|
||||||
use std::{
|
use std::{
|
||||||
env, io,
|
env::{self, consts::EXE_EXTENSION},
|
||||||
|
io,
|
||||||
process::{self, Command, ExitStatus},
|
process::{self, Command, ExitStatus},
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -27,12 +28,12 @@ fn python() -> &'static str {
|
|||||||
|
|
||||||
for dir in env::split_paths(&val) {
|
for dir in env::split_paths(&val) {
|
||||||
// `python` should always take precedence over python2 / python3 if it exists
|
// `python` should always take precedence over python2 / python3 if it exists
|
||||||
if dir.join(PYTHON).exists() {
|
if dir.join(PYTHON).with_extension(EXE_EXTENSION).exists() {
|
||||||
return PYTHON;
|
return PYTHON;
|
||||||
}
|
}
|
||||||
|
|
||||||
python2 |= dir.join(PYTHON2).exists();
|
python2 |= dir.join(PYTHON2).with_extension(EXE_EXTENSION).exists();
|
||||||
python3 |= dir.join(PYTHON3).exists();
|
python3 |= dir.join(PYTHON3).with_extension(EXE_EXTENSION).exists();
|
||||||
}
|
}
|
||||||
|
|
||||||
// try 3 before 2
|
// try 3 before 2
|
||||||
|
Loading…
Reference in New Issue
Block a user