File tree Expand file tree Collapse file tree 2 files changed +10
-2
lines changed
src/pip/_internal/metadata/importlib Expand file tree Collapse file tree 2 files changed +10
-2
lines changed Original file line number Diff line number Diff line change
1
+ Handle malformed ``Version `` metadata entries and
2
+ show a sensible error message instead of crashing.
Original file line number Diff line number Diff line change 28
28
from pip ._internal .utils .wheel import parse_wheel , read_wheel_metadata_file
29
29
30
30
from ._compat import (
31
+ BadMetadata ,
31
32
BasePath ,
32
33
get_dist_canonical_name ,
33
34
parse_name_and_version_from_info_directory ,
@@ -165,9 +166,14 @@ def canonical_name(self) -> NormalizedName:
165
166
166
167
@property
167
168
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
+ )
169
174
return parse_version (version )
170
- return parse_version (self ._dist .version )
175
+ except TypeError :
176
+ raise BadMetadata (self ._dist , reason = "invalid metadata entry `version`" )
171
177
172
178
@property
173
179
def raw_version (self ) -> str :
You can’t perform that action at this time.
0 commit comments