[devscripts/buildserver] Check Wow6432Node first when searching for python

This allows building releases from 64bit OS
This commit is contained in:
Sergey M․ 2016-05-29 10:02:00 +06:00
parent 27f17c0eab
commit 165e3561e9
No known key found for this signature in database
GPG Key ID: 2C393E0F18A9236D

View File

@ -273,16 +273,25 @@ class HTTPError(BuildError):
class PythonBuilder(object):
def __init__(self, **kwargs):
python_version = kwargs.pop('python', '3.4')
python_path = None
for node in ('Wow6432Node\\', ''):
try:
key = compat_winreg.OpenKey(
compat_winreg.HKEY_LOCAL_MACHINE, r'SOFTWARE\Python\PythonCore\%s\InstallPath' % python_version)
compat_winreg.HKEY_LOCAL_MACHINE,
r'SOFTWARE\%sPython\PythonCore\%s\InstallPath' % (node, python_version))
try:
self.pythonPath, _ = compat_winreg.QueryValueEx(key, '')
python_path, _ = compat_winreg.QueryValueEx(key, '')
finally:
compat_winreg.CloseKey(key)
break
except Exception:
pass
if not python_path:
raise BuildError('No such Python version: %s' % python_version)
self.pythonPath = python_path
super(PythonBuilder, self).__init__(**kwargs)