community.general.pipx module – Manages applications installed with pipx
Note
This module is part of the community.general collection (version 9.4.0).
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.general
.
To use it in a playbook, specify: community.general.pipx
.
New in community.general 3.8.0
Synopsis
Manage Python applications installed in isolated virtualenvs using pipx.
Parameters
Parameter |
Comments |
---|---|
Install the project in editable mode. Choices:
|
|
Path to the If not specified, the module will use |
|
Force modification of the application’s virtual environment. See Only used when Choices:
|
|
The module will pass the The Choices:
|
|
Upgrade the injected packages along with the application. Only used when This is used with Choices:
|
|
Base URL of Python Package Index. Only used when |
|
Packages to be injected into an existing virtual environment. Only used when |
|
Include applications of dependent packages. Only used when Choices:
|
|
The name of the application to be installed. It must to be a simple package name. For passing package specifications or installing from URLs or directories, please use the |
|
Arbitrary arguments to pass directly to |
|
Python version to be used when creating the application virtual environment. Must be 3.6+. Only used when |
|
Desired state for the application. The states The state Choices:
|
|
Optional suffix for virtual environment and executable names. Warning: |
|
Give application virtual environment access to the system site-packages directory. Only used when Choices:
|
Attributes
Attribute |
Support |
Description |
---|---|---|
Support: full |
Can run in |
|
Support: full |
Will return details on what has changed (or possibly needs changing in |
Notes
Note
This module requires
pipx
version 0.16.2.1 or above. From community.general 11.0.0 onwards, the module will requirepipx>=1.7.0
.Please note that
pipx
requires Python 3.6 or above.This module does not install the
pipx
python package, however that can be easily done with the module ansible.builtin.pip.This module does not require
pipx
to be in the shellPATH
, but it must be loadable by Python as a module.This module will honor
pipx
environment variables such as but not limited toPIPX_HOME
andPIPX_BIN_DIR
passed using the environment Ansible keyword.This first implementation does not verify whether a specified version constraint has been installed or not. Hence, when using version operators,
pipx
module will always try to execute the operation, even when the application was previously installed. This feature will be added in the future.See also the
pipx
documentation at https://pypa.github.io/pipx/.
Examples
- name: Install tox
community.general.pipx:
name: tox
- name: Install tox from git repository
community.general.pipx:
name: tox
source: git+https://github.com/tox-dev/tox.git
- name: Upgrade tox
community.general.pipx:
name: tox
state: upgrade
- name: Reinstall black with specific Python version
community.general.pipx:
name: black
state: reinstall
python: 3.7
- name: Uninstall pycowsay
community.general.pipx:
name: pycowsay
state: absent
- name: Install multiple packages from list
vars:
pipx_packages:
- pycowsay
- black
- tox
community.general.pipx:
name: "{{ item }}"
state: latest
with_items: "{{ pipx_packages }}"