Skip to content

Commit 335f9e4

Browse files
committed
Strip Requires-Dist metadata parsed from METADATA files
These can contain a leading \n if the requirement was long and wrapped by email.message.EmailMessage.as_bytes().
1 parent 7c6835f commit 335f9e4

File tree

1 file changed

+3
-1
lines changed
  • src/pip/_internal/metadata/importlib

1 file changed

+3
-1
lines changed

src/pip/_internal/metadata/importlib/_dists.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,9 @@ def is_extra_provided(self, extra: str) -> bool:
218218
def iter_dependencies(self, extras: Collection[str] = ()) -> Iterable[Requirement]:
219219
contexts: Sequence[Dict[str, str]] = [{"extra": e} for e in extras]
220220
for req_string in self.metadata.get_all("Requires-Dist", []):
221-
req = Requirement(req_string)
221+
# strip() because email.message.Message.get_all() may return a leading \n
222+
# in case a long header was wrapped.
223+
req = Requirement(req_string.strip())
222224
if not req.marker:
223225
yield req
224226
elif not extras and req.marker.evaluate({"extra": ""}):

0 commit comments

Comments
 (0)