]> granicus.if.org Git - python/commitdiff
Issue #24634: Importing uuid should not try to load libc on Windows
authorSteve Dower <steve.dower@microsoft.com>
Tue, 14 Jul 2015 20:25:03 +0000 (13:25 -0700)
committerSteve Dower <steve.dower@microsoft.com>
Tue, 14 Jul 2015 20:25:03 +0000 (13:25 -0700)
Lib/uuid.py
Misc/NEWS

index 5c731ec0033b2fb4bbd7a0e9b70d8351a3ee0daa..a6643ed45156d2d8586f80b97f6d59fb26abc2a3 100644 (file)
@@ -459,10 +459,14 @@ def _netbios_getnode():
 _uuid_generate_random = _uuid_generate_time = _UuidCreate = None
 try:
     import ctypes, ctypes.util
+    import sys
 
     # The uuid_generate_* routines are provided by libuuid on at least
     # Linux and FreeBSD, and provided by libc on Mac OS X.
-    for libname in ['uuid', 'c']:
+    _libnames = ['uuid']
+    if not sys.platform.startswith('win'):
+        _libnames.append('c')
+    for libname in _libnames:
         try:
             lib = ctypes.CDLL(ctypes.util.find_library(libname))
         except Exception:
@@ -473,6 +477,7 @@ try:
             _uuid_generate_time = lib.uuid_generate_time
             if _uuid_generate_random is not None:
                 break  # found everything we were looking for
+    del _libnames
 
     # The uuid_generate_* functions are broken on MacOS X 10.5, as noted
     # in issue #8621 the function generates the same sequence of values
@@ -481,7 +486,6 @@ try:
     #
     # Assume that the uuid_generate functions are broken from 10.5 onward,
     # the test can be adjusted when a later version is fixed.
-    import sys
     if sys.platform == 'darwin':
         import os
         if int(os.uname().release.split('.')[0]) >= 9:
index 4bcd2c81d494590d11a5990ed8f4fd8878f6a80e..4cb08eef7a3b25dd628d4c1e5bd4b2e0c1aaf0eb 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -15,6 +15,8 @@ Core and Builtins
 Library
 -------
 
+- Issue #24634: Importing uuid should not try to load libc on Windows
+
 - Issue #24798: _msvccompiler.py doesn't properly support manifests
 
 - Issue #4395: Better testing and documentation of binary operators.