diff options
author | Arfrever Frehtes Taifersar Arahesis <Arfrever.FTA@GMail.Com> | 2013-06-12 03:53:21 +0200 |
---|---|---|
committer | Arfrever Frehtes Taifersar Arahesis <Arfrever.FTA@GMail.Com> | 2013-06-12 03:53:21 +0200 |
commit | 11194d70c12a5e302a091c629b4e3bae690e28d7 (patch) | |
tree | 627746c4ac1f12ed9bcb19c3dd5c865d0475a16a | |
parent | 3f28d186923dc76699d60daf1a182cc59782a285 (diff) | |
download | python-setuptools-bitbucket-11194d70c12a5e302a091c629b4e3bae690e28d7.tar.gz |
Use new sysconfig module with Python 2.7 or >=3.2.
-rw-r--r-- | CHANGES.txt | 1 | ||||
-rw-r--r-- | pkg_resources.py | 5 | ||||
-rw-r--r-- | setuptools/command/bdist_egg.py | 12 | ||||
-rw-r--r-- | setuptools/command/build_ext.py | 24 | ||||
-rwxr-xr-x | setuptools/command/easy_install.py | 18 |
5 files changed, 42 insertions, 18 deletions
diff --git a/CHANGES.txt b/CHANGES.txt index 9b1e48d9..59e37ad6 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -9,6 +9,7 @@ CHANGES * Rename DISTRIBUTE_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT environment variable to SETUPTOOLS_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT. * Issue #1: Disable installation of Windows-specific files on non-Windows systems. +* Use new sysconfig module with Python 2.7 or >=3.2. ----- 0.7.2 diff --git a/pkg_resources.py b/pkg_resources.py index 1706dcd4..4d816e2a 100644 --- a/pkg_resources.py +++ b/pkg_resources.py @@ -245,9 +245,10 @@ def get_build_platform(): needs some hacks for Linux and Mac OS X. """ try: - from distutils.util import get_platform - except ImportError: + # Python 2.7 or >=3.2 from sysconfig import get_platform + except ImportError: + from distutils.util import get_platform plat = get_platform() if sys.platform == "darwin" and not plat.startswith('macosx-'): diff --git a/setuptools/command/bdist_egg.py b/setuptools/command/bdist_egg.py index c3356bb7..1ba0499e 100644 --- a/setuptools/command/bdist_egg.py +++ b/setuptools/command/bdist_egg.py @@ -7,10 +7,14 @@ import sys, os, marshal from setuptools import Command from distutils.dir_util import remove_tree, mkpath try: - from distutils.sysconfig import get_python_version, get_python_lib + # Python 2.7 or >=3.2 + from sysconfig import get_path, get_python_version + def _get_purelib(): + return get_path("purelib") except ImportError: - from sysconfig import get_python_version - from distutils.sysconfig import get_python_lib + from distutils.sysconfig import get_python_lib, get_python_version + def _get_purelib(): + return get_python_lib(False) from distutils import log from distutils.errors import DistutilsSetupError @@ -130,7 +134,7 @@ class bdist_egg(Command): # Hack for packages that install data to install's --install-lib self.get_finalized_command('install').install_lib = self.bdist_dir - site_packages = os.path.normcase(os.path.realpath(get_python_lib())) + site_packages = os.path.normcase(os.path.realpath(_get_purelib())) old, self.distribution.data_files = self.distribution.data_files,[] for item in old: diff --git a/setuptools/command/build_ext.py b/setuptools/command/build_ext.py index f2a53258..50a039ce 100644 --- a/setuptools/command/build_ext.py +++ b/setuptools/command/build_ext.py @@ -9,9 +9,15 @@ import os, sys from distutils.file_util import copy_file from setuptools.extension import Library from distutils.ccompiler import new_compiler -from distutils.sysconfig import customize_compiler, get_config_var -get_config_var("LDSHARED") # make sure _config_vars is initialized -from distutils.sysconfig import _config_vars +from distutils.sysconfig import customize_compiler +try: + # Python 2.7 or >=3.2 + from sysconfig import _CONFIG_VARS +except ImportError: + from distutils.sysconfig import get_config_var + get_config_var("LDSHARED") # make sure _config_vars is initialized + del get_config_var + from distutils.sysconfig import _config_vars as _CONFIG_VARS from distutils import log from distutils.errors import * @@ -131,16 +137,16 @@ class build_ext(_build_ext): compiler=self.compiler, dry_run=self.dry_run, force=self.force ) if sys.platform == "darwin": - tmp = _config_vars.copy() + tmp = _CONFIG_VARS.copy() try: # XXX Help! I don't have any idea whether these are right... - _config_vars['LDSHARED'] = "gcc -Wl,-x -dynamiclib -undefined dynamic_lookup" - _config_vars['CCSHARED'] = " -dynamiclib" - _config_vars['SO'] = ".dylib" + _CONFIG_VARS['LDSHARED'] = "gcc -Wl,-x -dynamiclib -undefined dynamic_lookup" + _CONFIG_VARS['CCSHARED'] = " -dynamiclib" + _CONFIG_VARS['SO'] = ".dylib" customize_compiler(compiler) finally: - _config_vars.clear() - _config_vars.update(tmp) + _CONFIG_VARS.clear() + _CONFIG_VARS.update(tmp) else: customize_compiler(compiler) diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py index b90fee0a..60b3e011 100755 --- a/setuptools/command/easy_install.py +++ b/setuptools/command/easy_install.py @@ -25,9 +25,22 @@ import pkg_resources from setuptools import Command, _dont_write_bytecode from setuptools.sandbox import run_setup from distutils import log, dir_util +try: + # Python 2.7 or >=3.2 + from sysconfig import get_config_vars, get_path + def _get_platlib(): + return get_path("platlib") + def _get_purelib(): + return get_path("purelib") +except ImportError: + from distutils.sysconfig import get_config_vars, get_python_lib + def _get_platlib(): + return get_python_lib(True) + def _get_purelib(): + return get_python_lib(False) + from distutils.util import get_platform from distutils.util import convert_path, subst_vars -from distutils.sysconfig import get_python_lib, get_config_vars from distutils.errors import DistutilsArgError, DistutilsOptionError, \ DistutilsError, DistutilsPlatformError from distutils.command.install import INSTALL_SCHEMES, SCHEME_KEYS @@ -1398,8 +1411,7 @@ def get_site_dirs(): 'Python', sys.version[:3], 'site-packages')) - for plat_specific in (0,1): - site_lib = get_python_lib(plat_specific) + for site_lib in (_get_purelib(), _get_platlib()): if site_lib not in sitedirs: sitedirs.append(site_lib) if HAS_USER_SITE: |