Pip Operations¶
Manage pip (python) packages. Compatible globally or inside a virtualenv (virtual environment).
Facts used in these operations: files.File, pip.PipPackages.
pip.packages¶
Install/remove/update pip packages.
pip.packages(
    packages: str | list[str] | None=None, present=True, latest=False,
    requirements: str | None=None, pip="pip", virtualenv: str | None=None,
    virtualenv_kwargs: dict | None=None, extra_install_args: str | None=None, **kwargs,
)
packages: list of packages to ensure
present: whether the packages should be installed
latest: whether to upgrade packages without a specified version
requirements: location of requirements file to install/uninstall
pip: name or path of the pip directory to use
virtualenv: root directory of virtualenv to work in
virtualenv_kwargs: dictionary of arguments to pass to
pip.virtualenvextra_install_args: additional arguments to the pip install command
- Virtualenv:
 This will be created if it does not exist already.
virtualenv_kwargswill be passed topip.virtualenvwhich can be used to control how the env is created.- Versions:
 Package versions can be pinned like pip:
<pkg>==<version>.
Example:
pip.packages(
    name="Install pyinfra into a virtualenv",
    packages=["pyinfra"],
    virtualenv="/usr/local/bin/venv",
)
- Note:
 This operation also inherits all global arguments.
pip.venv¶
Add/remove Python virtualenvs.
pip.venv(
    path: str, python: str | None=None, site_packages=False, always_copy=False, present=True,
    **kwargs,
)
python: python interpreter to use
site_packages: give access to the global site-packages
always_copy: always copy files rather than symlinking
present: whether the virtualenv should exist
Example:
pip.venv(
    name="Create a virtualenv",
    path="/usr/local/bin/venv",
)
- Note:
 This operation also inherits all global arguments.
pip.virtualenv¶
Add/remove Python virtualenvs.
pip.virtualenv(
    path: str, python: str | None=None, venv=False, site_packages=False, always_copy=False,
    present=True, **kwargs,
)
python: python interpreter to use
venv: use standard venv module instead of virtualenv
site_packages: give access to the global site-packages
always_copy: always copy files rather than symlinking
present: whether the virtualenv should exist
Example:
pip.virtualenv(
    name="Create a virtualenv",
    path="/usr/local/bin/venv",
)
- Note:
 This operation also inherits all global arguments.
            pyinfra next