blob: 100baf914c603a09e361af3a0296a5d0c6a933de [file] [log] [blame]
--- pkg_resources.py
+++ pkg_resources.py
@@ -209,9 +209,10 @@
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-'):
--- setuptools/command/bdist_egg.py
+++ setuptools/command/bdist_egg.py
@@ -7,10 +7,14 @@
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_version, get_python_lib
+ def _get_purelib():
+ return get_python_lib(False)
from distutils import log
from distutils.errors import DistutilsSetupError
@@ -130,7 +134,7 @@
# 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:
--- setuptools/command/build_ext.py
+++ setuptools/command/build_ext.py
@@ -9,9 +9,14 @@
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
+try:
+ # Python 2.7 or >=3.2
+ from distutils.ccompiler import customize_compiler
+ from sysconfig import get_config_var, _CONFIG_VARS
+except ImportError:
+ 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 as _CONFIG_VARS
from distutils import log
from distutils.errors import *
@@ -133,16 +138,16 @@
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)
--- setuptools/command/easy_install.py
+++ setuptools/command/easy_install.py
@@ -15,8 +15,21 @@
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 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
@@ -1344,8 +1357,7 @@
'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 sys.version >= "2.6":