Skip to content

Commit b3914e4

Browse files
committed
Fix handling of TypeError exception when invalid version metadata entry is present
1 parent 4fe68d7 commit b3914e4

File tree

1 file changed

+10
-2
lines changed
  • src/pip/_internal/metadata/importlib

1 file changed

+10
-2
lines changed

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

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
BasePath,
3232
get_dist_canonical_name,
3333
parse_name_and_version_from_info_directory,
34+
BadMetadata,
3435
)
3536

3637

@@ -165,9 +166,16 @@ def canonical_name(self) -> NormalizedName:
165166

166167
@property
167168
def version(self) -> Version:
168-
if version := parse_name_and_version_from_info_directory(self._dist)[1]:
169+
try:
170+
version = (
171+
parse_name_and_version_from_info_directory(self._dist)[1]
172+
or self._dist.version
173+
)
169174
return parse_version(version)
170-
return parse_version(self._dist.version)
175+
except TypeError:
176+
raise BadMetadata(
177+
self._dist.files[3], reason="invalid metadata entry `version`"
178+
)
171179

172180
@property
173181
def raw_version(self) -> str:

0 commit comments

Comments
 (0)