Skip to content

Commit 0d23ba6

Browse files
committed
Merge pull request #10 from wcooley/master
Another fix for pip's loss of "normalize_name"
2 parents 15ef3cd + 3275dba commit 0d23ba6

File tree

5 files changed

+16
-9
lines changed

5 files changed

+16
-9
lines changed

pip_check_reqs/common.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
import os
66
import re
77

8+
from packaging.utils import canonicalize_name
89
from pip.download import PipSession
910
from pip.req import parse_requirements
10-
from pip.utils import normalize_name
1111

1212
log = logging.getLogger(__name__)
1313

@@ -129,7 +129,7 @@ def find_required_modules(options):
129129
log.debug('ignoring requirement: %s', requirement.name)
130130
else:
131131
log.debug('found requirement: %s', requirement.name)
132-
explicit.add(normalize_name(requirement.name))
132+
explicit.add(canonicalize_name(requirement.name))
133133
return explicit
134134

135135

pip_check_reqs/find_extra_reqs.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@
44
import os
55
import sys
66

7+
from packaging.utils import canonicalize_name
78
from pip.commands.show import search_packages_info
8-
from pip.utils import get_installed_distributions, normalize_name
9+
from pip.utils import get_installed_distributions
910

1011
from pip_check_reqs import common
1112

@@ -23,7 +24,7 @@ def find_extra_reqs(options):
2324
for package in search_packages_info(all_pkgs):
2425
log.debug('installed package: %s (at %s)', package['name'],
2526
package['location'])
26-
for f in package['files'] or []:
27+
for f in package.get('files', []) or []:
2728
path = os.path.realpath(os.path.join(package['location'], f))
2829
installed_files[path] = package['name']
2930
package_path = common.is_package_file(path)
@@ -38,7 +39,7 @@ def find_extra_reqs(options):
3839
for modname, info in used_modules.items():
3940
# probably standard library if it's not in the files list
4041
if info.filename in installed_files:
41-
used_name = normalize_name(installed_files[info.filename])
42+
used_name = canonicalize_name(installed_files[info.filename])
4243
log.debug('used module: %s (from package %s)', modname,
4344
installed_files[info.filename])
4445
used[used_name].append(info)

pip_check_reqs/find_missing_reqs.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@
44
import os
55
import sys
66

7+
from packaging.utils import canonicalize_name
78
from pip.commands.show import search_packages_info
89
from pip.download import PipSession
910
from pip.req import parse_requirements
10-
from pip.utils import get_installed_distributions, normalize_name
11+
from pip.utils import get_installed_distributions
1112

1213
from pip_check_reqs import common
1314

@@ -25,7 +26,7 @@ def find_missing_reqs(options):
2526
for package in search_packages_info(all_pkgs):
2627
log.debug('installed package: %s (at %s)', package['name'],
2728
package['location'])
28-
for file in package['files'] or []:
29+
for file in package.get('files', []) or []:
2930
path = os.path.realpath(os.path.join(package['location'], file))
3031
installed_files[path] = package['name']
3132
package_path = common.is_package_file(path)
@@ -40,7 +41,7 @@ def find_missing_reqs(options):
4041
for modname, info in used_modules.items():
4142
# probably standard library if it's not in the files list
4243
if info.filename in installed_files:
43-
used_name = normalize_name(installed_files[info.filename])
44+
used_name = canonicalize_name(installed_files[info.filename])
4445
log.debug('used module: %s (from package %s)', modname,
4546
installed_files[info.filename])
4647
used[used_name].append(info)
@@ -54,7 +55,7 @@ def find_missing_reqs(options):
5455
for requirement in parse_requirements('requirements.txt',
5556
session=PipSession()):
5657
log.debug('found requirement: %s', requirement.name)
57-
explicit.add(normalize_name(requirement.name))
58+
explicit.add(canonicalize_name(requirement.name))
5859

5960
return [(name, used[name]) for name in used
6061
if name not in explicit]

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
pip>=6.0
2+
packaging

setup.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,8 @@
3838
'pip-extra-reqs=pip_check_reqs.find_extra_reqs:main',
3939
],
4040
},
41+
install_requires=[
42+
'packaging',
43+
'pip',
44+
],
4145
)

0 commit comments

Comments
 (0)