|
18 | 18 | InstallationError, CommandError, PreviousBuildDirError,
|
19 | 19 | )
|
20 | 20 | from pip import cmdoptions
|
21 |
| -from pip.utils import ensure_dir |
| 21 | +from pip.utils import ensure_dir, get_installed_version |
22 | 22 | from pip.utils.build import BuildDirectory
|
23 | 23 | from pip.utils.deprecation import RemovedInPip10Warning
|
24 | 24 | from pip.utils.filesystem import check_path_owner
|
@@ -316,16 +316,24 @@ def run(self, options, args):
|
316 | 316 | root=options.root_path,
|
317 | 317 | prefix=options.prefix_path,
|
318 | 318 | )
|
| 319 | + |
| 320 | + possible_lib_locations = get_lib_location_guesses( |
| 321 | + user=options.use_user_site, |
| 322 | + home=temp_target_dir, |
| 323 | + prefix=options.prefix_path |
| 324 | + ) |
319 | 325 | reqs = sorted(
|
320 | 326 | requirement_set.successfully_installed,
|
321 | 327 | key=operator.attrgetter('name'))
|
322 | 328 | items = []
|
323 | 329 | for req in reqs:
|
324 | 330 | item = req.name
|
325 | 331 | try:
|
326 |
| - if hasattr(req, 'installed_version'): |
327 |
| - if req.installed_version: |
328 |
| - item += '-' + req.installed_version |
| 332 | + installed_version = get_installed_version( |
| 333 | + req.name, possible_lib_locations |
| 334 | + ) |
| 335 | + if installed_version: |
| 336 | + item += '-' + installed_version |
329 | 337 | except Exception:
|
330 | 338 | pass
|
331 | 339 | items.append(item)
|
@@ -384,3 +392,10 @@ def run(self, options, args):
|
384 | 392 | )
|
385 | 393 | shutil.rmtree(temp_target_dir)
|
386 | 394 | return requirement_set
|
| 395 | + |
| 396 | + |
| 397 | +def get_lib_location_guesses(user=False, home=None, root=None, prefix=None): |
| 398 | + scheme = distutils_scheme( |
| 399 | + '', user=user, home=home, root=root, prefix=prefix |
| 400 | + ) |
| 401 | + return [scheme['purelib'], scheme['platlib']] |
0 commit comments