golden hour
/lib/python2.7/site-packages/setuptools
⬆️ Go Up
Upload
File/Folder
Size
Actions
__init__.py
4.92 KB
Del
OK
__init__.pyc
6.63 KB
Del
OK
__init__.pyo
6.63 KB
Del
OK
archive_util.py
6.46 KB
Del
OK
archive_util.pyc
6.02 KB
Del
OK
archive_util.pyo
6.02 KB
Del
OK
build_meta.py
4.64 KB
Del
OK
build_meta.pyc
5.88 KB
Del
OK
build_meta.pyo
5.76 KB
Del
OK
command
-
Del
OK
config.py
15.93 KB
Del
OK
config.pyc
16.46 KB
Del
OK
config.pyo
16.46 KB
Del
OK
dep_util.py
935 B
Del
OK
dep_util.pyc
965 B
Del
OK
dep_util.pyo
965 B
Del
OK
depends.py
5.7 KB
Del
OK
depends.pyc
6.37 KB
Del
OK
depends.pyo
6.37 KB
Del
OK
dist.py
39.42 KB
Del
OK
dist.pyc
38.99 KB
Del
OK
dist.pyo
38.93 KB
Del
OK
extension.py
1.69 KB
Del
OK
extension.pyc
2.36 KB
Del
OK
extension.pyo
2.36 KB
Del
OK
extern
-
Del
OK
glob.py
5.08 KB
Del
OK
glob.pyc
4.71 KB
Del
OK
glob.pyo
4.64 KB
Del
OK
launch.py
787 B
Del
OK
launch.pyc
1006 B
Del
OK
launch.pyo
1006 B
Del
OK
lib2to3_ex.py
1.97 KB
Del
OK
lib2to3_ex.pyc
2.93 KB
Del
OK
lib2to3_ex.pyo
2.93 KB
Del
OK
monkey.py
5.66 KB
Del
OK
monkey.pyc
6.2 KB
Del
OK
monkey.pyo
6.2 KB
Del
OK
msvc.py
39.93 KB
Del
OK
msvc.pyc
39.41 KB
Del
OK
msvc.pyo
39.41 KB
Del
OK
namespaces.py
3.12 KB
Del
OK
namespaces.pyc
4.92 KB
Del
OK
namespaces.pyo
4.92 KB
Del
OK
package_index.py
39.03 KB
Del
OK
package_index.pyc
39.08 KB
Del
OK
package_index.pyo
39.08 KB
Del
OK
py26compat.py
679 B
Del
OK
py26compat.pyc
1.27 KB
Del
OK
py26compat.pyo
1.27 KB
Del
OK
py27compat.py
536 B
Del
OK
py27compat.pyc
1.02 KB
Del
OK
py27compat.pyo
1.02 KB
Del
OK
py31compat.py
1.61 KB
Del
OK
py31compat.pyc
2.33 KB
Del
OK
py31compat.pyo
2.33 KB
Del
OK
py33compat.py
998 B
Del
OK
py33compat.pyc
1.47 KB
Del
OK
py33compat.pyo
1.47 KB
Del
OK
py36compat.py
2.82 KB
Del
OK
py36compat.pyc
2.8 KB
Del
OK
py36compat.pyo
2.8 KB
Del
OK
sandbox.py
14.21 KB
Del
OK
sandbox.pyc
18.69 KB
Del
OK
sandbox.pyo
18.69 KB
Del
OK
script (dev).tmpl
201 B
Del
OK
script.tmpl
138 B
Del
OK
site-patch.py
2.25 KB
Del
OK
site-patch.pyc
1.7 KB
Del
OK
site-patch.pyo
1.7 KB
Del
OK
ssl_support.py
8.03 KB
Del
OK
ssl_support.pyc
8.18 KB
Del
OK
ssl_support.pyo
8.18 KB
Del
OK
unicode_utils.py
996 B
Del
OK
unicode_utils.pyc
1.44 KB
Del
OK
unicode_utils.pyo
1.44 KB
Del
OK
version.py
144 B
Del
OK
version.pyc
322 B
Del
OK
version.pyo
322 B
Del
OK
windows_support.py
714 B
Del
OK
windows_support.pyc
1.24 KB
Del
OK
windows_support.pyo
1.24 KB
Del
OK
Edit: monkey.py
""" Monkey patching of distutils. """ import sys import distutils.filelist import platform import types import functools import inspect from .py26compat import import_module from setuptools.extern import six import setuptools __all__ = [] """ Everything is private. Contact the project team if you think you need this functionality. """ def _get_mro(cls): """ Returns the bases classes for cls sorted by the MRO. Works around an issue on Jython where inspect.getmro will not return all base classes if multiple classes share the same name. Instead, this function will return a tuple containing the class itself, and the contents of cls.__bases__. See https://github.com/pypa/setuptools/issues/1024. """ if platform.python_implementation() == "Jython": return (cls,) + cls.__bases__ return inspect.getmro(cls) def get_unpatched(item): lookup = ( get_unpatched_class if isinstance(item, six.class_types) else get_unpatched_function if isinstance(item, types.FunctionType) else lambda item: None ) return lookup(item) def get_unpatched_class(cls): """Protect against re-patching the distutils if reloaded Also ensures that no other distutils extension monkeypatched the distutils first. """ external_bases = ( cls for cls in _get_mro(cls) if not cls.__module__.startswith('setuptools') ) base = next(external_bases) if not base.__module__.startswith('distutils'): msg = "distutils has already been patched by %r" % cls raise AssertionError(msg) return base def patch_all(): # we can't patch distutils.cmd, alas distutils.core.Command = setuptools.Command has_issue_12885 = sys.version_info <= (3, 5, 3) if has_issue_12885: # fix findall bug in distutils (http://bugs.python.org/issue12885) distutils.filelist.findall = setuptools.findall needs_warehouse = ( sys.version_info < (2, 7, 13) or (3, 0) < sys.version_info < (3, 3, 7) or (3, 4) < sys.version_info < (3, 4, 6) or (3, 5) < sys.version_info <= (3, 5, 3) ) if needs_warehouse: warehouse = 'https://upload.pypi.org/legacy/' distutils.config.PyPIRCCommand.DEFAULT_REPOSITORY = warehouse _patch_distribution_metadata_write_pkg_file() _patch_distribution_metadata_write_pkg_info() # Install Distribution throughout the distutils for module in distutils.dist, distutils.core, distutils.cmd: module.Distribution = setuptools.dist.Distribution # Install the patched Extension distutils.core.Extension = setuptools.extension.Extension distutils.extension.Extension = setuptools.extension.Extension if 'distutils.command.build_ext' in sys.modules: sys.modules['distutils.command.build_ext'].Extension = ( setuptools.extension.Extension ) patch_for_msvc_specialized_compiler() def _patch_distribution_metadata_write_pkg_file(): """Patch write_pkg_file to also write Requires-Python/Requires-External""" distutils.dist.DistributionMetadata.write_pkg_file = ( setuptools.dist.write_pkg_file ) def _patch_distribution_metadata_write_pkg_info(): """ Workaround issue #197 - Python 3 prior to 3.2.2 uses an environment-local encoding to save the pkg_info. Monkey-patch its write_pkg_info method to correct this undesirable behavior. """ environment_local = (3,) <= sys.version_info[:3] < (3, 2, 2) if not environment_local: return distutils.dist.DistributionMetadata.write_pkg_info = ( setuptools.dist.write_pkg_info ) def patch_func(replacement, target_mod, func_name): """ Patch func_name in target_mod with replacement Important - original must be resolved by name to avoid patching an already patched function. """ original = getattr(target_mod, func_name) # set the 'unpatched' attribute on the replacement to # point to the original. vars(replacement).setdefault('unpatched', original) # replace the function in the original module setattr(target_mod, func_name, replacement) def get_unpatched_function(candidate): return getattr(candidate, 'unpatched') def patch_for_msvc_specialized_compiler(): """ Patch functions in distutils to use standalone Microsoft Visual C++ compilers. """ # import late to avoid circular imports on Python < 3.5 msvc = import_module('setuptools.msvc') if platform.system() != 'Windows': # Compilers only availables on Microsoft Windows return def patch_params(mod_name, func_name): """ Prepare the parameters for patch_func to patch indicated function. """ repl_prefix = 'msvc9_' if 'msvc9' in mod_name else 'msvc14_' repl_name = repl_prefix + func_name.lstrip('_') repl = getattr(msvc, repl_name) mod = import_module(mod_name) if not hasattr(mod, func_name): raise ImportError(func_name) return repl, mod, func_name # Python 2.7 to 3.4 msvc9 = functools.partial(patch_params, 'distutils.msvc9compiler') # Python 3.5+ msvc14 = functools.partial(patch_params, 'distutils._msvccompiler') try: # Patch distutils.msvc9compiler patch_func(*msvc9('find_vcvarsall')) patch_func(*msvc9('query_vcvarsall')) except ImportError: pass try: # Patch distutils._msvccompiler._get_vc_env patch_func(*msvc14('_get_vc_env')) except ImportError: pass try: # Patch distutils._msvccompiler.gen_lib_options for Numpy patch_func(*msvc14('gen_lib_options')) except ImportError: pass
Save