Detect python2.7.exe on windows

Latest python2 package on msys2 installs the executable file to
python2.7.exe rather than python27.exe.
This commit is contained in:
Xidorn Quan 2016-07-08 17:10:58 +10:00
parent bc45f85a60
commit 6389107e19
2 changed files with 12 additions and 2 deletions

View file

@ -11,6 +11,10 @@ use walkdir::WalkDir;
#[cfg(windows)]
fn find_python() -> String {
if Command::new("python2.7.exe").arg("--version").output().is_ok() {
return "python2.7.exe".to_owned();
}
if Command::new("python27.exe").arg("--version").output().is_ok() {
return "python27.exe".to_owned();
}
@ -19,7 +23,8 @@ fn find_python() -> String {
return "python.exe".to_owned();
}
panic!("Can't find python (tried python27.exe and python.exe)! Try fixing PATH or setting the PYTHON env var");
panic!(concat!("Can't find python (tried python2.7.exe, python27.exe, and python.exe)! ",
"Try fixing PATH or setting the PYTHON env var"));
}
#[cfg(not(windows))]

View file

@ -8,6 +8,10 @@ use std::process::{Command, exit};
#[cfg(windows)]
fn find_python() -> String {
if Command::new("python2.7.exe").arg("--version").output().is_ok() {
return "python2.7.exe".to_owned();
}
if Command::new("python27.exe").arg("--version").output().is_ok() {
return "python27.exe".to_owned();
}
@ -16,7 +20,8 @@ fn find_python() -> String {
return "python.exe".to_owned();
}
panic!("Can't find python (tried python27.exe and python.exe)! Try fixing PATH or setting the PYTHON env var");
panic!(concat!("Can't find python (tried python2.7.exe, python27.exe, and python.exe)! ",
"Try fixing PATH or setting the PYTHON env var"));
}
#[cfg(not(windows))]