salt.states.virtualenv

Setup of Python virtualenv sandboxes.

New in version 0.17.0.

salt.states.virtualenv_mod.manage(name, venv_bin=None, requirements=None, system_site_packages=False, distribute=False, use_wheel=False, clear=False, python=None, extra_search_dir=None, never_download=None, prompt=None, user=None, cwd=None, index_url=None, extra_index_url=None, pre_releases=False, no_deps=False, pip_download=None, pip_download_cache=None, pip_exists_action=None, pip_ignore_installed=False, proxy=None, use_vt=False, env_vars=None, no_use_wheel=False, pip_upgrade=False, pip_pkgs=None, pip_no_cache_dir=False, pip_cache_dir=None, process_dependency_links=False, no_binary=None, **kwargs)

This function is an alias of managed.

Create a virtualenv and optionally manage it with pip

name

Path to the virtualenv.

venv_bin: virtualenv

The name (and optionally path) of the virtualenv command. This can also be set globally in the minion config file as virtualenv.venv_bin.

requirements: None

Path to a pip requirements file. If the path begins with salt:// the file will be transferred from the master file server.

use_wheel: False

Prefer wheel archives (requires pip >= 1.4).

python: None

Python executable used to build the virtualenv. When Salt is installed from a onedir package. You will likely want to specify which python interperter should be used.

user: None

The user under which to run virtualenv and pip.

cwd: None

Path to the working directory where pip install is executed.

no_deps: False

Pass --no-deps to pip install.

pip_exists_action: None

Default action of pip when a path already exists: (s)witch, (i)gnore, (w)ipe, (b)ackup.

proxy: None

Proxy address which is passed to pip install.

env_vars: None

Set environment variables that some builds will depend on. For example, a Python C-module may have a Makefile that needs INCLUDE_PATH set to pick up a header file while compiling.

no_use_wheel: False

Force to not use wheel archives (requires pip>=1.4)

no_binary

Force to not use binary packages (requires pip >= 7.0.0) Accepts either :all: to disable all binary packages, :none: to empty the set, or a list of one or more packages

pip_upgrade: False

Pass --upgrade to pip install.

pip_pkgs: None

As an alternative to requirements, pass a list of pip packages that should be installed.

process_dependency_links: False

Run pip install with the --process_dependency_links flag.

New in version 2017.7.0.

Also accepts any kwargs that the virtualenv module will. However, some kwargs, such as the pip option, require - distribute: True.

/var/www/myvirtualenv.com:
  virtualenv.managed:
    - system_site_packages: False
    - requirements: salt://REQUIREMENTS.txt
    - env_vars:
        PATH_VAR: '/usr/local/bin/'

Current versions of Salt use onedir packages and will use onedir python interpreter by default. If you've installed Salt via out package repository. You will likely want to provide the path to the interpreter with which you would like to be used to create the virtual environment. The interpreter can be specified by providing the python option.

salt.states.virtualenv_mod.managed(name, venv_bin=None, requirements=None, system_site_packages=False, distribute=False, use_wheel=False, clear=False, python=None, extra_search_dir=None, never_download=None, prompt=None, user=None, cwd=None, index_url=None, extra_index_url=None, pre_releases=False, no_deps=False, pip_download=None, pip_download_cache=None, pip_exists_action=None, pip_ignore_installed=False, proxy=None, use_vt=False, env_vars=None, no_use_wheel=False, pip_upgrade=False, pip_pkgs=None, pip_no_cache_dir=False, pip_cache_dir=None, process_dependency_links=False, no_binary=None, **kwargs)

Create a virtualenv and optionally manage it with pip

name

Path to the virtualenv.

venv_bin: virtualenv

The name (and optionally path) of the virtualenv command. This can also be set globally in the minion config file as virtualenv.venv_bin.

requirements: None

Path to a pip requirements file. If the path begins with salt:// the file will be transferred from the master file server.

use_wheel: False

Prefer wheel archives (requires pip >= 1.4).

python: None

Python executable used to build the virtualenv. When Salt is installed from a onedir package. You will likely want to specify which python interperter should be used.

user: None

The user under which to run virtualenv and pip.

cwd: None

Path to the working directory where pip install is executed.

no_deps: False

Pass --no-deps to pip install.

pip_exists_action: None

Default action of pip when a path already exists: (s)witch, (i)gnore, (w)ipe, (b)ackup.

proxy: None

Proxy address which is passed to pip install.

env_vars: None

Set environment variables that some builds will depend on. For example, a Python C-module may have a Makefile that needs INCLUDE_PATH set to pick up a header file while compiling.

no_use_wheel: False

Force to not use wheel archives (requires pip>=1.4)

no_binary

Force to not use binary packages (requires pip >= 7.0.0) Accepts either :all: to disable all binary packages, :none: to empty the set, or a list of one or more packages

pip_upgrade: False

Pass --upgrade to pip install.

pip_pkgs: None

As an alternative to requirements, pass a list of pip packages that should be installed.

process_dependency_links: False

Run pip install with the --process_dependency_links flag.

New in version 2017.7.0.

Also accepts any kwargs that the virtualenv module will. However, some kwargs, such as the pip option, require - distribute: True.

/var/www/myvirtualenv.com:
  virtualenv.managed:
    - system_site_packages: False
    - requirements: salt://REQUIREMENTS.txt
    - env_vars:
        PATH_VAR: '/usr/local/bin/'

Current versions of Salt use onedir packages and will use onedir python interpreter by default. If you've installed Salt via out package repository. You will likely want to provide the path to the interpreter with which you would like to be used to create the virtual environment. The interpreter can be specified by providing the python option.