diff --git a/library/packaging/pip b/library/packaging/pip index 7f293c5c02..49067dc119 100644 --- a/library/packaging/pip +++ b/library/packaging/pip @@ -144,6 +144,17 @@ EXAMPLES = ''' - pip: name=bottle executable=pip-3.3 ''' +def _get_cmd_options(module, cmd): + thiscmd = cmd + " --help" + rc, stdout, stderr = module.run_command(thiscmd) + #import epdb; epdb.serve() + if rc != 0: + module.fail_json(msg="Could not get --help output from %s" % virtualenv) + + words = stdout.strip().split() + cmd_options = [ x for x in words if x.startswith('--') ] + return cmd_options + def _get_full_name(name, version=None): if version is None: @@ -247,7 +258,11 @@ def main(): if module.params['virtualenv_site_packages']: cmd = '%s --system-site-packages %s' % (virtualenv, env) else: - cmd = '%s --no-site-packages %s' % (virtualenv, env) + cmd_opts = _get_cmd_options(module, virtualenv) + if '--no-site-packages' in cmd_opts: + cmd = '%s --no-site-packages %s' % (virtualenv, env) + else: + cmd = '%s %s' % (virtualenv, env) os.chdir(tempfile.gettempdir()) if chdir: os.chdir(chdir)