diff options
author | Sergey M․ <dstftw@gmail.com> | 2016-05-29 10:02:00 +0600 |
---|---|---|
committer | Sergey M․ <dstftw@gmail.com> | 2016-05-29 10:02:00 +0600 |
commit | 165e3561e9ec8f8a1a1037e4fdebe880cdbd92fb (patch) | |
tree | ae5cfd0399f4d5f8eb5924cc93a10ae07b39e010 /devscripts | |
parent | 27f17c0eabde55cbaab613280f60c01f5ee01025 (diff) |
[devscripts/buildserver] Check Wow6432Node first when searching for python
This allows building releases from 64bit OS
Diffstat (limited to 'devscripts')
-rw-r--r-- | devscripts/buildserver.py | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/devscripts/buildserver.py b/devscripts/buildserver.py index dada6bfc7..2bd12da50 100644 --- a/devscripts/buildserver.py +++ b/devscripts/buildserver.py @@ -273,16 +273,25 @@ class HTTPError(BuildError): class PythonBuilder(object): def __init__(self, **kwargs): python_version = kwargs.pop('python', '3.4') - try: - key = compat_winreg.OpenKey( - compat_winreg.HKEY_LOCAL_MACHINE, r'SOFTWARE\Python\PythonCore\%s\InstallPath' % python_version) + python_path = None + for node in ('Wow6432Node\\', ''): try: - self.pythonPath, _ = compat_winreg.QueryValueEx(key, '') - finally: - compat_winreg.CloseKey(key) - except Exception: + key = compat_winreg.OpenKey( + compat_winreg.HKEY_LOCAL_MACHINE, + r'SOFTWARE\%sPython\PythonCore\%s\InstallPath' % (node, python_version)) + try: + 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) |