aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/tools/python3/Lib/importlib
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/tools/python3/Lib/importlib')
-rw-r--r--contrib/tools/python3/Lib/importlib/metadata/__init__.py2
-rw-r--r--contrib/tools/python3/Lib/importlib/util.py4
2 files changed, 4 insertions, 2 deletions
diff --git a/contrib/tools/python3/Lib/importlib/metadata/__init__.py b/contrib/tools/python3/Lib/importlib/metadata/__init__.py
index 54156e93af..e6ca17821d 100644
--- a/contrib/tools/python3/Lib/importlib/metadata/__init__.py
+++ b/contrib/tools/python3/Lib/importlib/metadata/__init__.py
@@ -534,7 +534,7 @@ class Distribution(DeprecatedNonAbstract):
paths = (
(subdir / name)
.resolve()
- .relative_to(self.locate_file('').resolve())
+ .relative_to(self.locate_file('').resolve(), walk_up=True)
.as_posix()
for name in text.splitlines()
)
diff --git a/contrib/tools/python3/Lib/importlib/util.py b/contrib/tools/python3/Lib/importlib/util.py
index 3743e6aa91..4b836f4712 100644
--- a/contrib/tools/python3/Lib/importlib/util.py
+++ b/contrib/tools/python3/Lib/importlib/util.py
@@ -13,7 +13,6 @@ from ._bootstrap_external import spec_from_file_location
import _imp
import sys
-import threading
import types
@@ -253,6 +252,9 @@ class LazyLoader(Loader):
def exec_module(self, module):
"""Make the module load lazily."""
+ # Threading is only needed for lazy loading, and importlib.util can
+ # be pulled in at interpreter startup, so defer until needed.
+ import threading
module.__spec__.loader = self.loader
module.__loader__ = self.loader
# Don't need to worry about deep-copying as trying to set an attribute