Documentation

pip - Manages Python library dependencies.

Synopsis

Manage Python library dependencies. To use this module, one of the following keys is required: name or requirements.

Requirements (on host that executes module)

  • virtualenv
  • pip

Options

parameter required default choices comments
chdir
(added in 1.3)
no
    cd into this directory before running the command
    editable
    (added in 2.0)
    no True
      Pass the editable flag for versioning URLs.
      executable
      (added in 1.3)
      no
        The explicit executable or a pathname to the executable to be used to run pip for a specific version of Python installed in the system. For example pip-3.3, if there are both Python 2.7 and 3.3 installations in the system and you want to run pip for the Python 3.3 installation. It cannot be specified together with the 'virtualenv' parameter (added in 2.1).
        extra_args
        no
          Extra arguments passed to pip.
          name
          no
            The name of a Python library to install or the url of the remote package.
            requirements
            no
              The path to a pip requirements file, which should be local to the remote system. File can be specified as a relative path if using the chdir option.
              state
              no present
              • present
              • absent
              • latest
              • forcereinstall
              The state of module
              The 'forcereinstall' option is only available in Ansible 2.1 and above.
              umask
              (added in 2.1)
              no
                The system umask to apply before installing the pip package. This is useful, for example, when installing on systems that have a very restrictive umask by default (e.g., 0077) and you want to pip install packages which are to be used by all users. Note that this requires you to specify desired umask mode in octal, with a leading 0 (e.g., 0077).
                version
                no
                  The version number to install of the Python library specified in the name parameter
                  virtualenv
                  no
                    An optional path to a virtualenv directory to install into. It cannot be specified together with the 'executable' parameter (added in 2.1).
                    virtualenv_command
                    no virtualenv
                      The command or a pathname to the command to create the virtual environment with. For example pyvenv, virtualenv, virtualenv2, ~/bin/virtualenv, /usr/local/bin/virtualenv.
                      virtualenv_python
                      (added in 2.0)
                      no
                        The Python executable used for creating the virtual environment. For example python3.4, python2.7. When not specified, the system Python version is used.
                        virtualenv_site_packages
                        no no
                        • yes
                        • no
                        Whether the virtual environment will inherit packages from the global site-packages directory. Note that if this setting is changed on an already existing virtual environment it will not have any effect, the environment must be deleted and newly created.

                        Examples

                        # Install (Bottle) python package.
                        - pip: name=bottle
                        
                        # Install (Bottle) python package on version 0.11.
                        - pip: name=bottle version=0.11
                        
                        # Install (MyApp) using one of the remote protocols (bzr+,hg+,git+,svn+). You do not have to supply '-e' option in extra_args.
                        - pip: name='svn+http://myrepo/svn/MyApp#egg=MyApp'
                        
                        # Install MyApp using one of the remote protocols (bzr+,hg+,git+) in a non editable way.
                        - pip: name='git+http://myrepo/app/MyApp' editable=false
                        
                        # Install (MyApp) from local tarball
                        - pip: name='file:///path/to/MyApp.tar.gz'
                        
                        # Install (Bottle) into the specified (virtualenv), inheriting none of the globally installed modules
                        - pip: name=bottle virtualenv=/my_app/venv
                        
                        # Install (Bottle) into the specified (virtualenv), inheriting globally installed modules
                        - pip: name=bottle virtualenv=/my_app/venv virtualenv_site_packages=yes
                        
                        # Install (Bottle) into the specified (virtualenv), using Python 2.7
                        - pip: name=bottle virtualenv=/my_app/venv virtualenv_command=virtualenv-2.7
                        
                        # Install specified python requirements.
                        - pip: requirements=/my_app/requirements.txt
                        
                        # Install specified python requirements in indicated (virtualenv).
                        - pip: requirements=/my_app/requirements.txt virtualenv=/my_app/venv
                        
                        # Install specified python requirements and custom Index URL.
                        - pip: requirements=/my_app/requirements.txt extra_args='-i https://example.com/pypi/simple'
                        
                        # Install (Bottle) for Python 3.3 specifically,using the 'pip-3.3' executable.
                        - pip: name=bottle executable=pip-3.3
                        
                        # Install (Bottle), forcing reinstallation if it's already installed
                        - pip: name=bottle state=forcereinstall
                        
                        # Install (Bottle) while ensuring the umask is 0022 (to ensure other users can use it)
                        - pip: name=bottle umask=0022
                          become: True
                        

                        Notes

                        Note

                        Please note that virtualenv (http://www.virtualenv.org/) must be installed on the remote host if the virtualenv parameter is specified and the virtualenv needs to be initialized.

                        This is a Core Module

                        For more information on what this means please read Core Modules

                        For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Helping Testing PRs and Developing Modules.