@@ -39,17 +39,15 @@ def __init__(self, filename: str) -> None:
39
39
self .name = wheel_info .group ("name" ).replace ("_" , "-" )
40
40
_version = wheel_info .group ("ver" )
41
41
if "_" in _version :
42
- _version = _version .replace ("_" , "-" )
43
-
44
42
try :
45
43
parse_wheel_filename (filename )
46
- except ( PackagingInvalidWheelName , InvalidVersion ) :
44
+ except InvalidVersion as e :
47
45
deprecated (
48
46
reason = (
49
- f"Wheel filename { filename !r} uses an invalid filename format, "
50
- f"as the version part { _version !r } is not correctly "
51
- "normalised, and contains an underscore character. Future "
52
- "versions of pip will fail to recognise this wheel ."
47
+ f"Wheel filename version part { _version !r} is not correctly "
48
+ "normalised, and contained an underscore character in the "
49
+ "version part. Future versions of pip will fail to recognise "
50
+ f"this wheel and report the error: { e . args [ 0 ] } ."
53
51
),
54
52
replacement = (
55
53
"rename the wheel to use a correctly normalised "
@@ -59,6 +57,23 @@ def __init__(self, filename: str) -> None:
59
57
gone_in = "25.1" ,
60
58
issue = 12938 ,
61
59
)
60
+ except PackagingInvalidWheelName as e :
61
+ deprecated (
62
+ reason = (
63
+ f"The wheel filename { filename !r} is not correctly normalised. "
64
+ "Future versions of pip will fail to recognise this wheel. "
65
+ f"and report the error: { e .args [0 ]} ."
66
+ ),
67
+ replacement = (
68
+ "rename the wheel to use a correctly normalised "
69
+ "name (this may require updating the version in "
70
+ "the project metadata)"
71
+ ),
72
+ gone_in = "25.1" ,
73
+ issue = 12938 ,
74
+ )
75
+
76
+ _version = _version .replace ("_" , "-" )
62
77
63
78
self .version = _version
64
79
self .build_tag = wheel_info .group ("build" )
0 commit comments