python programming snippet
def _check_python_version(python_exe, version):
python_exe = shutil.which(python_exe)
if python_exe:
res = subprocess.Popen([python_exe, "--version"], stdout=subprocess.PIPE,
stderr=subprocess.PIPE).communicate()
# python2 writes version to stderr, python>=3.2 writes it to stdout?!
version_string = res[0] if res[0] else res[1]
found_version = version_string.decode('utf-8').split()[-1]
if found_version.startswith(version):
return python_exe
# try the system installed versions
for exe in ["python", "python3"]:
python_exe = _check_python_version(exe, target_version)
if python_exe:
return python_exe