These states manage system installed python packages. Note that pip must be
installed for these states to be available, so pip states should include a
requisite to a pkg.installed state for the package which provides pip
(python-pip
in most cases). Example:
python-pip:
pkg.installed
virtualenvwrapper:
pip.installed:
- require:
- pkg: python-pip
salt.states.pip_state.
installed
(name, pkgs=None, pip_bin=None, requirements=None, env=None, bin_env=None, use_wheel=False, no_use_wheel=False, log=None, proxy=None, timeout=None, repo=None, editable=None, find_links=None, index_url=None, extra_index_url=None, no_index=False, mirrors=None, build=None, target=None, download=None, download_cache=None, source=None, upgrade=False, force_reinstall=False, ignore_installed=False, exists_action=None, no_deps=False, no_install=False, no_download=False, install_options=None, global_options=None, user=None, no_chown=False, cwd=None, activate=False, pre_releases=False, cert=None, allow_all_external=False, allow_external=None, allow_unverified=None, process_dependency_links=False, env_vars=None, use_vt=False)¶Make sure the package is installed
==, >=, <=
. If
requirements
is given, this parameter will be ignored.Example:
django:
pip.installed:
- name: django >= 1.6, <= 1.7
- require:
- pkg: python-pip
This will install the latest Django version greater than 1.6 but less than 1.7.
index_url
build
dirtarget
dirdownload
instead of installing themdownload_cache
direditable
packages into source
dirActivates the virtual environment, if given via bin_env, before running install.
Deprecated since version 2014.7.2: If bin_env is given, pip will already be sourced from that virualenv, making activate effectively a noop.
/foo/.virtualenvs/bar
.Example:
django:
pip.installed:
- name: django >= 1.6, <= 1.7
- bin_env: /foo/.virtualenvs/bar
- require:
- pkg: python-pip
Or
Example:
django:
pip.installed:
- name: django >= 1.6, <= 1.7
- bin_env: /foo/.virtualenvs/bar/bin/pip
- require:
- pkg: python-pip
Attention
The following arguments are deprecated, do not use.
bin_env
bin_env
Changed in version 0.17.0: use_wheel
option added.
install_options
Extra arguments to be supplied to the setup.py install command. If you are using an option with a directory path, be sure to use absolute path.
Example:
django: pip.installed: - name: django - install_options: - --prefix=/blah - require: - pkg: python-pip
Extra global options to be supplied to the setup.py call before the install command.
New in version 2014.1.3.
Attention
As of Salt 0.17.0 the pip state needs an importable pip module. This usually means having the system's pip package installed or running Salt from an active virtualenv.
The reason for this requirement is because pip
already does a
pretty good job parsing its own requirements. It makes no sense for
Salt to do pip
requirements parsing and validation before passing
them to the pip
library. It's functionality duplication and it's
more error prone.
Attention
Please set reload_modules: True
to have the salt minion
import this module after installation.
Example:
pyopenssl:
pip.installed:
- name: pyOpenSSL
- reload_modules: True
- exists_action: i
salt.states.pip_state.
removed
(name, requirements=None, bin_env=None, log=None, proxy=None, timeout=None, user=None, cwd=None, use_vt=False)¶Make sure that a package is not installed.
salt.states.pip_state.
uptodate
(name, bin_env=None, user=None, cwd=None, use_vt=False)¶New in version 2015.5.0.
Verify that the system is completely up to date.