Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/geerlingguy/ansible-role-pip

Ansible Role - Pip (for Python)
https://github.com/geerlingguy/ansible-role-pip

ansible galaxy package-manager packaging pip python role

Last synced: 2 days ago
JSON representation

Ansible Role - Pip (for Python)

Awesome Lists containing this project

README

        

# Ansible Role: Pip (for Python)

[![CI](https://github.com/geerlingguy/ansible-role-pip/workflows/CI/badge.svg?event=push)](https://github.com/geerlingguy/ansible-role-pip/actions?query=workflow%3ACI)

An Ansible Role that installs [Pip](https://pip.pypa.io) on Linux.

## Requirements

On RedHat/CentOS, you may need to have EPEL installed before running this role. You can use the `geerlingguy.repo-epel` role if you need a simple way to ensure it's installed.

## Role Variables

Available variables are listed below, along with default values (see `defaults/main.yml`):

pip_package: python3-pip

The name of the package to install to get `pip` on the system. For older systems that don't have Python 3 available, you can set this to `python-pip`.

pip_executable: pip3

The role will try to autodetect the pip executable based on the `pip_package` (e.g. `pip` for Python 2 and `pip3` for Python 3). You can also override this explicitly, e.g. `pip_executable: pip3.6`.

pip_install_packages: []

A list of packages to install with pip. Examples below:

pip_install_packages:
# Specify names and versions.
- name: docker
version: "1.2.3"
- name: awscli
version: "1.11.91"

# Or specify bare packages to get the latest release.
- docker
- awscli

# Or uninstall a package.
- name: docker
state: absent

# Or update a package to the latest version.
- name: docker
state: latest

# Or force a reinstall.
- name: docker
state: forcereinstall

# Or install a package in a particular virtualenv.
- name: docker
virtualenv: /my_app/venv

# Or pass through any extra arguments.
- name: my_special_package_from_my_special_repo
extra_args: --extra-index-url https://my-domain/pypi/pypi-master/simple

## Dependencies

None.

## Example Playbook

- hosts: all

vars:
pip_install_packages:
- name: docker
- name: awscli

roles:
- geerlingguy.pip

## License

MIT / BSD

## Author Information

This role was created in 2017 by [Jeff Geerling](https://www.jeffgeerling.com/), author of [Ansible for DevOps](https://www.ansiblefordevops.com/).