aboutsummaryrefslogtreecommitdiffstats
path: root/setuptools/monkey.py
diff options
context:
space:
mode:
Diffstat (limited to 'setuptools/monkey.py')
-rw-r--r--setuptools/monkey.py32
1 files changed, 7 insertions, 25 deletions
diff --git a/setuptools/monkey.py b/setuptools/monkey.py
index 6d3711ec..3c77f8cf 100644
--- a/setuptools/monkey.py
+++ b/setuptools/monkey.py
@@ -7,9 +7,9 @@ import distutils.filelist
import platform
import types
import functools
+from importlib import import_module
import inspect
-from .py26compat import import_module
from setuptools.extern import six
import setuptools
@@ -75,8 +75,6 @@ def patch_all():
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)
@@ -86,8 +84,7 @@ def patch_all():
warehouse = 'https://upload.pypi.org/legacy/'
distutils.config.PyPIRCCommand.DEFAULT_REPOSITORY = warehouse
- _patch_distribution_metadata_write_pkg_file()
- _patch_distribution_metadata_write_pkg_info()
+ _patch_distribution_metadata()
# Install Distribution throughout the distutils
for module in distutils.dist, distutils.core, distutils.cmd:
@@ -104,26 +101,11 @@ def patch_all():
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_distribution_metadata():
+ """Patch write_pkg_file and read_pkg_file for higher metadata standards"""
+ for attr in ('write_pkg_file', 'read_pkg_file', 'get_metadata_version'):
+ new_val = getattr(setuptools.dist, attr)
+ setattr(distutils.dist.DistributionMetadata, attr, new_val)
def patch_func(replacement, target_mod, func_name):