diff options
author | Jason R. Coombs <jaraco@jaraco.com> | 2016-05-02 10:06:01 -0400 |
---|---|---|
committer | Jason R. Coombs <jaraco@jaraco.com> | 2016-05-02 10:06:01 -0400 |
commit | 28ef4014b03a6d1b2428def3bb78e665679a5b12 (patch) | |
tree | 281449d200f283604cd28f01c806cf3e3fe60e78 /setuptools/msvc9_support.py | |
parent | de9e0e8386aea53815f3330a82d7e0d7b77ede7a (diff) | |
download | external_python_setuptools-28ef4014b03a6d1b2428def3bb78e665679a5b12.tar.gz external_python_setuptools-28ef4014b03a6d1b2428def3bb78e665679a5b12.tar.bz2 external_python_setuptools-28ef4014b03a6d1b2428def3bb78e665679a5b12.zip |
Restore ability for msvc9_support to be imported on non-Windows platforms.
Diffstat (limited to 'setuptools/msvc9_support.py')
-rw-r--r-- | setuptools/msvc9_support.py | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/setuptools/msvc9_support.py b/setuptools/msvc9_support.py index dba7c392..1737cc21 100644 --- a/setuptools/msvc9_support.py +++ b/setuptools/msvc9_support.py @@ -2,9 +2,26 @@ This module improve support for Microsoft Visual C++ compilers. (Windows Only) """ import os +import collections import itertools import distutils.errors -from setuptools.extern.six.moves import winreg, filterfalse +from setuptools.extern.six.moves import filterfalse + +try: + from setuptools.extern.six.moves import winreg + safe_env = os.environ +except ImportError: + """ + Mock winreg and environ so the module can be imported + on this platform. + """ + class winreg: + HKEY_USERS = None + HKEY_CURRENT_USER = None + HKEY_LOCAL_MACHINE = None + HKEY_CLASSES_ROOT = None + safe_env = collections.defaultdict(lambda: '') + try: # Distutil file for MSVC++ 9.0 and upper (Python 2.7 to 3.4) @@ -232,7 +249,7 @@ class PlatformInfo: arch: str Target architecture. """ - current_cpu = os.environ['processor_architecture'].lower() + current_cpu = safe_env['processor_architecture'].lower() def __init__(self, arch): self.arch = arch.lower().replace('x64', 'amd64') @@ -443,8 +460,8 @@ class SystemInfo: vcver: float Required Microsoft Visual C++ version. """ - WinDir = os.environ['WinDir'] - ProgramFiles = os.environ['ProgramFiles'] + WinDir = safe_env['WinDir'] + ProgramFiles = safe_env['ProgramFiles'] ProgramFilesx86 = os.environ.get('ProgramFiles(x86)', ProgramFiles) def __init__(self, registry_info, vcver=None): |