|
|
|
@ -250,7 +250,7 @@ def _get_full_name(name, version=None):
|
|
|
|
|
def _get_packages(module, pip, chdir):
|
|
|
|
|
'''Return results of pip command to get packages.'''
|
|
|
|
|
# Try 'pip list' command first.
|
|
|
|
|
command = '%s list' % pip
|
|
|
|
|
command = '%s list --format=freeze' % pip
|
|
|
|
|
lang_env = dict(LANG='C', LC_ALL='C', LC_MESSAGES='C')
|
|
|
|
|
rc, out, err = module.run_command(command, cwd=chdir, environ_update=lang_env)
|
|
|
|
|
|
|
|
|
@ -267,21 +267,10 @@ def _get_packages(module, pip, chdir):
|
|
|
|
|
def _is_present(name, version, installed_pkgs, pkg_command):
|
|
|
|
|
'''Return whether or not package is installed.'''
|
|
|
|
|
for pkg in installed_pkgs:
|
|
|
|
|
# Package listing will be different depending on which pip
|
|
|
|
|
# command was used ('pip list' vs. 'pip freeze').
|
|
|
|
|
if 'list' in pkg_command:
|
|
|
|
|
pkg = pkg.replace('(', '').replace(')', '')
|
|
|
|
|
if ',' in pkg:
|
|
|
|
|
pkg_name, pkg_version, _ = pkg.replace(',', '').split(' ')
|
|
|
|
|
else:
|
|
|
|
|
pkg_name, pkg_version = pkg.split(' ')
|
|
|
|
|
elif 'freeze' in pkg_command:
|
|
|
|
|
if '==' in pkg:
|
|
|
|
|
pkg_name, pkg_version = pkg.split('==')
|
|
|
|
|
else:
|
|
|
|
|
continue
|
|
|
|
|
else:
|
|
|
|
|
continue
|
|
|
|
|
|
|
|
|
|
if pkg_name == name and (version is None or version == pkg_version):
|
|
|
|
|
return True
|
|
|
|
|