summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Dower <steve.dower@microsoft.com>2015-10-05 17:35:00 (GMT)
committerSteve Dower <steve.dower@microsoft.com>2015-10-05 17:35:00 (GMT)
commitf0ccf02e5609890ffb1f928e1a1f74ebde1b5af7 (patch)
treee98703b2ca6f14458b5126159318feb20449c768
parenteda1955d82d901af7ed730eb5a3996f0d55786ba (diff)
downloadcpython-f0ccf02e5609890ffb1f928e1a1f74ebde1b5af7.zip
cpython-f0ccf02e5609890ffb1f928e1a1f74ebde1b5af7.tar.gz
cpython-f0ccf02e5609890ffb1f928e1a1f74ebde1b5af7.tar.bz2
Issue #25316: distutils raises OSError instead of DistutilsPlatformError when MSVC is not installed.
-rw-r--r--Lib/distutils/_msvccompiler.py18
-rw-r--r--Misc/NEWS3
2 files changed, 13 insertions, 8 deletions
diff --git a/Lib/distutils/_msvccompiler.py b/Lib/distutils/_msvccompiler.py
index 03a5f10..10a9ffd 100644
--- a/Lib/distutils/_msvccompiler.py
+++ b/Lib/distutils/_msvccompiler.py
@@ -28,15 +28,17 @@ import winreg
from itertools import count
def _find_vcvarsall(plat_spec):
- with winreg.OpenKeyEx(
- winreg.HKEY_LOCAL_MACHINE,
- r"Software\Microsoft\VisualStudio\SxS\VC7",
- access=winreg.KEY_READ | winreg.KEY_WOW64_32KEY
- ) as key:
- if not key:
- log.debug("Visual C++ is not registered")
- return None, None
+ try:
+ key = winreg.OpenKeyEx(
+ winreg.HKEY_LOCAL_MACHINE,
+ r"Software\Microsoft\VisualStudio\SxS\VC7",
+ access=winreg.KEY_READ | winreg.KEY_WOW64_32KEY
+ )
+ except OSError:
+ log.debug("Visual C++ is not registered")
+ return None, None
+ with key:
best_version = 0
best_dir = None
for i in count():
diff --git a/Misc/NEWS b/Misc/NEWS
index 778ab89..2c1a7c2 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -34,6 +34,9 @@ Core and Builtins
Library
-------
+- Issue #25316: distutils raises OSError instead of DistutilsPlatformError
+ when MSVC is not installed.
+
- Issue #23972: Updates asyncio datagram create method allowing reuseport
and reuseaddr socket options to be set prior to binding the socket.
Mirroring the existing asyncio create_server method the reuseaddr option