Commit Graph

26 Commits (b79d7a606ceaeee9a4a227445611acc90f96752c)

Author SHA1 Message Date
Blair Zajac 106fb10dab library/pip: add support for virtualenv's --system-site-packages. 12 years ago
Stephen Fromm 3fb21a5281 Update modules to use run_command in module_common.py
This updates apt, apt_repository, command, cron, easy_install, facter,
fireball, git, group, mount, ohai, pip, service, setup, subversion,
supervisorctl, svr4pkg, user, and yum to take advantage of run_command
in module_common.py.
12 years ago
Norman J. Harman Jr 19b84d0527 pip module improvements
- Do not silently ignore malformed pip requirements files.
- Properly reports changed when removing packages.
- "latest" i.e. --upgrade is *not* incompatible with requirements files.
- Less branchy, simpler logic.
- Removed pointless variable "initializations", Python doesn't need that.
  Other code simplifications.
- Fun fact; pip install is (kind of) case insensitive, pip freeze is not.
  So, 'sqlalchemy' will be reported as installed by install, but missing
  by freeze.

The perhaps controversial change and the one that led to finding /
fixing above issues...

Instead of adding command parameters 'index', and 'find', and 'mirrors',
and etc.  Added 'extra_args' which are passed onto pip.

The use case for --index-url is having a private pypi repo, like
http://pypi.python.org/pypi/localshop, to which you publish private
packages.  I'm sure most every pip option has a use case for someone.
extra_args handles all those. Can reserve ansible command parameters for
the most common.

Tested with pip 1.1.
12 years ago
Stephen Fromm 5b7c8fcc38 Further tweak how to find pip in virtualenv on centos/redhat/fedora
In a virtualenv, pip is called just pip.  This fixes the pip module to
search for the virtualenv pip first before trying the pip-python and
python-pip variants.  Without this, pip module would not install to the
virtualenv when that parameter is provided.
12 years ago
Stephen Fromm e33e02950d Make use of mirrors in pip module configurable with use_mirrors option
Older versions of pip (anything less than 1.0?) do not support
--use-mirrors flag.  This makes it configurable.  Default is yes.
12 years ago
Stephen Fromm d277953a53 Fix pip module to check if requirements already installed
This updates _is_package_installed() to accept a requirements file
as an argument.  This is used later in main() to check if python libs
specified in a requirements file are already installed.  I updated
main() to consolidate the handling of install/uninstall in a single
block.  This should help if someone wants to remove packages specified
by a requirements file.
12 years ago
Ton Kersten 7bba04b176 Corrected for fallthrough 12 years ago
Ton Kersten ee4fe9ff55 Added pip-python to the search for CentOS 6 compatibility 12 years ago
Jan-Piet Mens caf003c813 DOCUMENTATION strings 12 years ago
Michael DeHaan 663a8fef3f chmod -x for all module files in source checkout 12 years ago
Jan-Piet Mens feab57e270 Reformat code: examples consistently
- added terse syntax to modules.rst
 - added description of special variables to template module
12 years ago
Maxim Burgerhout 2f6b9e69a7 Test for python-pip as well as pip
On Red Hat, CentOS and Fedora systems, the pip binary will be called python-pip
instead of pip. This commit makes the pip module also check for python-pip.

The reason we check for python-pip *first*, is to have ansible fail on not
finding 'pip' and reporting *that*. This is consistent with current behaviour
and will not confuse users of Debian et al., where the 'python-pip' binary
never exists.

Tested on Fedora 18 and Ubuntu 12.04.
12 years ago
Jan-Piet Mens e620fed755 Jumbo DOCUMENTATION patch 12 years ago
Marco Vito Moscaritolo d80ec35183 Fixed error in author name 12 years ago
Marco Vito Moscaritolo ac5afcae28 Added DOCUMENTATION to pip module. 12 years ago
Stephen Fromm 6742e9c3f4 Add option required=(True|False) to get_bin_path and update modules
Added required as optional argument to get_bin_path(). It defaults to
false.  Updated following modules to use required=True when calling
get_bin_path():  apt_repository, easy_install, group, pip,
supervisorctl, and user.
Also removed _find_supervisorctl() from supervisorctl module and updated
_is_running() to not need it.
12 years ago
Stephen Fromm e5a635672c Migrate remaining modules to use get_bin_path in module_common.py
* Migraed easy_install, pip, service, setup, and user.
* Updated fail_json message in apt_repository
* Fixed easy_install to not hardcode location of virtualenv in
  /usr/local/bin/.
* Made handling of virtualenv more consistent between easy_install and
  pip.
12 years ago
Michael DeHaan 705057b9a6 Merge pull request #900 from lorin/pip-venv-bug
Retrieve pip path after creating virtualenv
12 years ago
Lorin Hochstein 8223d3ee3f Retrieve pip path after creating virtualenv
Retrieve the pip path after creating a non-existent virtualenv.
Prevents the problem of using the wrong pip if virtualenv doesn't
exist yet.
12 years ago
Lorin Hochstein 8af3403f65 Return both stdout and stderr on pip failures.
pip failure message sometimes (always?) go to standard out. Return
both standard out and standard error when there's a failure.
12 years ago
Michael DeHaan 1e4d45af1e Add module common code to allow it to be easier to indicate whether arguments are mutually exclusive, required in conjunction, or whether one of a list of arguments is required. This simplifies writing Python modules. 12 years ago
Sébastien Bocahu 487d07a845 Fix variable scope 12 years ago
Sundar Raman 66a6231922 Further syntax fix work on Python2.4
The `val if something else something-else` syntax does not work prior to 2.5.
12 years ago
Sundar Raman 9ad91d7369 Fix syntax to work on Python2.4
The `val if something else something-else` syntax does not work prior to 2.5
12 years ago
Matt Wright 0116e53e48 Updates per ansible/ansible#796 12 years ago
Matt Wright 4de0e5de54 add pip module 12 years ago