"""
if self.pip_imported_during_build():
return
- if self.is_get_pip():
- return
clear_distutils()
self.spec_for_distutils = lambda: None
+ def spec_for_setuptools(self):
+ """
+ get-pip imports setuptools solely for the purpose of
+ determining if it's installed. In this case, provide
+ a stubbed spec to represent setuptools being present
+ without invoking any behavior.
+
+ Workaround for pypa/get-pip#137.
+ """
+ if not self.is_get_pip():
+ return
+
+ import importlib
+
+ class StubbedLoader(importlib.abc.Loader):
+
+ def create_module(self, spec):
+ import types
+ return types.ModuleType('setuptools')
+
+ def exec_module(self, module):
+ pass
+
+ return importlib.util.spec_from_loader(
+ 'setuptools', StubbedLoader(),
+ )
+
@classmethod
def pip_imported_during_build(cls):
"""
[metadata]
name = setuptools
-version = 60.5.1
+version = 60.5.2
author = Python Packaging Authority
author_email = distutils-sig@python.org
description = Easily download, build, install, upgrade, and uninstall Python packages