From 91ce77e49670fb97ceaad7d7c3b414c488c65c62 Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Sat, 8 Jan 2022 12:12:17 -0500 Subject: Check that distutils has an origin. Ref #2990. --- setuptools/tests/test_distutils_adoption.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/setuptools/tests/test_distutils_adoption.py b/setuptools/tests/test_distutils_adoption.py index 70075483..366f2928 100644 --- a/setuptools/tests/test_distutils_adoption.py +++ b/setuptools/tests/test_distutils_adoption.py @@ -86,3 +86,10 @@ def test_pip_import(venv): """ cmd = ['python', '-c', 'import pip'] popen_text(venv.run)(cmd) + + +def test_distutils_has_origin(): + """ + Distutils module spec should have an origin. #2990. + """ + assert __import__('distutils').__spec__.origin -- cgit v1.2.1 From bd8d4dbd9638988f09b061f5d94a678c0fd80f25 Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Fri, 31 Dec 2021 09:32:20 -0800 Subject: set origin= for distutils.__spec__ set origin so spec finding reports the correct location -- https://docs.python.org/3/library/importlib.html#importlib.machinery.ModuleSpec --- _distutils_hack/__init__.py | 4 +++- changelog.d/2990.change.rst | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 changelog.d/2990.change.rst diff --git a/_distutils_hack/__init__.py b/_distutils_hack/__init__.py index 75bc4463..cc62dcf6 100644 --- a/_distutils_hack/__init__.py +++ b/_distutils_hack/__init__.py @@ -118,7 +118,9 @@ class DistutilsMetaFinder: def exec_module(self, module): pass - return importlib.util.spec_from_loader('distutils', DistutilsLoader()) + return importlib.util.spec_from_loader( + 'distutils', DistutilsLoader(), origin=mod.__file__ + ) def spec_for_pip(self): """ diff --git a/changelog.d/2990.change.rst b/changelog.d/2990.change.rst new file mode 100644 index 00000000..bb6e6032 --- /dev/null +++ b/changelog.d/2990.change.rst @@ -0,0 +1 @@ +Set the ``.origin`` attribute of the ``distutils`` module to the module's ``__file__``. -- cgit v1.2.1