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 | |
| parent | 27f17c0eabde55cbaab613280f60c01f5ee01025 (diff) | |
[devscripts/buildserver] Check Wow6432Node first when searching for python
This allows building releases from 64bit OS
| -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) | 
