Skip to content

Commit 9b4b651

Browse files
committed
we'll assume '_' means '-' for versions from wheel filenames
1 parent ad0191f commit 9b4b651

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

pip/wheel.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,9 @@ def __init__(self, filename):
246246
wheel_info = self.wheel_file_re.match(filename)
247247
self.filename = filename
248248
self.name = wheel_info.group('name').replace('_', '-')
249-
self.version = wheel_info.group('ver')
249+
# we'll assume "_" means "-" due to wheel naming scheme
250+
# (https://github.com/pypa/pip/issues/1150)
251+
self.version = wheel_info.group('ver').replace('_', '-')
250252
self.pyversions = wheel_info.group('pyver').split('.')
251253
self.abis = wheel_info.group('abi').split('.')
252254
self.plats = wheel_info.group('plat').split('.')

tests/unit/test_wheel.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,14 @@ def test_purelib_platlib(self):
163163
for name, path, expected in packages:
164164
assert wheel.root_is_purelib(name, path) == expected
165165

166+
def test_version_underscore_conversion(self):
167+
"""
168+
Test that we convert '_' to '-' for versions parsed out of wheel filenames
169+
"""
170+
w = wheel.Wheel('simple-0.1_1-py2-none-any.whl')
171+
assert w.version == '0.1-1'
172+
173+
166174
class TestPEP425Tags(object):
167175

168176
def test_broken_sysconfig(self):

0 commit comments

Comments
 (0)