From af77fc4b01148b34ce1ccfe2fb384afda9ad4302 Mon Sep 17 00:00:00 2001 From: rico-chet Date: Thu, 17 Mar 2016 13:24:22 +0100 Subject: [PATCH] fix hkey cleanup fix for AttributeError: 'NoneType' object has no attribute 'Close', full Traceback (most recent call last): File "", line 1, in File "C:\Users\foo\AppData\Local\Temp\pip-clrr6blj-build\setup.py", line 99, in _xbuild = "\"%s\"" % _find_msbuild_tool("msbuild.exe") File "C:\Users\foo\AppData\Local\Temp\pip-clrr6blj-build\setup.py", line 77, in _find_msbuild_tool hkey.Close() AttributeError: 'NoneType' object has no attribute 'Close' --- setup.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 96353630f..88cf9504d 100644 --- a/setup.py +++ b/setup.py @@ -59,10 +59,10 @@ def _find_msbuild_tool(tool="msbuild.exe", use_windows_sdk=False): paths_to_check = [] hreg = _winreg.ConnectRegistry(None, _winreg.HKEY_LOCAL_MACHINE) try: - hkey = None for key_to_check in keys_to_check: sdk_name, key, value_name = key_to_check[:3] suffix = key_to_check[3] if len(key_to_check) > 3 else None + hkey = None try: hkey = _winreg.OpenKey(hreg, key) val, type_ = _winreg.QueryValueEx(hkey, value_name) @@ -74,7 +74,8 @@ def _find_msbuild_tool(tool="msbuild.exe", use_windows_sdk=False): except WindowsError: pass finally: - hkey.Close() + if hkey: + hkey.Close() finally: hreg.Close()