Package loadable: compare case insensitive (#16234)

pull/16238/head
Paulus Schoutsen 2018-08-28 10:53:12 +02:00 committed by GitHub
parent 376d4e4fa0
commit a14980716d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 1 deletions

View File

@ -73,11 +73,13 @@ def package_loadable(package: str) -> bool:
# This is a zip file
req = pkg_resources.Requirement.parse(urlparse(package).fragment)
req_proj_name = req.project_name.lower()
for path in sys.path:
for dist in pkg_resources.find_distributions(path):
# If the project name is the same, it will be the one that is
# loaded when we import it.
if dist.project_name == req.project_name:
if dist.project_name.lower() == req_proj_name:
return dist in req
return False

View File

@ -239,3 +239,6 @@ def test_package_loadable_installed_twice():
with patch('pkg_resources.find_distributions', side_effect=[[v2]]):
assert package.package_loadable('hello==2.0.0')
with patch('pkg_resources.find_distributions', side_effect=[[v2]]):
assert package.package_loadable('Hello==2.0.0')