summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStéphane Bidoul <stephane.bidoul@acsone.eu>2021-09-26 09:21:32 +0200
committerGitHub <noreply@github.com>2021-09-26 09:21:32 +0200
commit7d2889316c645a977430928eff6a16da525c0d0e (patch)
tree2944f72312e40fd4f7c816adc802933bf746a6ba
parentf609d35a8f247916bf43e21b14b4a9c5ab17349d (diff)
parent25c64a00f10af3eb04c4756644eb64e3c9e5a427 (diff)
downloadpip-7d2889316c645a977430928eff6a16da525c0d0e.tar.gz
Merge pull request #10507 from uranusjr/metadata-type-mismatch-satisfied-by
Fix InstalledDistribution's metadata interface
-rw-r--r--news/10504.bugfix.rst2
-rw-r--r--src/pip/_internal/distributions/installed.py4
2 files changed, 5 insertions, 1 deletions
diff --git a/news/10504.bugfix.rst b/news/10504.bugfix.rst
new file mode 100644
index 000000000..549e86dc3
--- /dev/null
+++ b/news/10504.bugfix.rst
@@ -0,0 +1,2 @@
+Fix a crash when installing an editable requirement using the legacy resolver
+due to a mismatch in internal metadata representation interfaces.
diff --git a/src/pip/_internal/distributions/installed.py b/src/pip/_internal/distributions/installed.py
index be5962f98..6c8c17929 100644
--- a/src/pip/_internal/distributions/installed.py
+++ b/src/pip/_internal/distributions/installed.py
@@ -11,8 +11,10 @@ class InstalledDistribution(AbstractDistribution):
"""
def get_metadata_distribution(self) -> BaseDistribution:
+ from pip._internal.metadata.pkg_resources import Distribution as _Dist
+
assert self.req.satisfied_by is not None, "not actually installed"
- return self.req.satisfied_by
+ return _Dist(self.req.satisfied_by)
def prepare_distribution_metadata(
self, finder: PackageFinder, build_isolation: bool