Spec-Zone.ru › Ansible 2.11

ansible.builtin.pip – Управление зависимостями библиотек Python

Примечание

Этот модуль является частью ansible-base и включён во все установки Ansible. В большинстве случаев вы можете использовать короткое имя модуля pip даже без указания ключевого слова collections:. Несмотря на это, рекомендуется использовать полное имя класса (FQCN) для лёгкой ссылки на документацию модуля и для избежания конфликтов с другими коллекциями, которые могут иметь такое же имя модуля.

Добавлена в версии 0.7: в ansible.builtin

  • Описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Описание

  • Управление зависимостями библиотек Python. Для использования этого модуля требуется один из следующих ключей: name или requirements.

Требования

Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.

  • pip
  • virtualenv
  • setuptools

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
chdir
путь
добавлен в версии 1.3 ansible.builtin
Перейти в этот каталог перед выполнением команды
editable
логическое
добавлен в версии 2.0 ansible.builtin
    Варианты:
  • нет ←
  • да
Передать флаг editable.
executable
путь
добавлен в версии 1.3 ansible.builtin
Явный исполняемый файл или путь к исполняемому файлу pip, если он отличается от интерпретатора Python Ansible. Например pip3.3, если в системе установлены Python 2.7 и 3.3, и вы хотите запустить pip для установки Python 3.3.
Взаимоисключающее с параметром virtualenv (добавлено в версии 2.1).
Не влияет на интерпретатор Python Ansible.
Пакет setuptools должен быть установлен как для интерпретатора Python Ansible, так и для версии Python, указанной в этом параметре.
extra_args
строка
добавлен в версии 1.0 ansible.builtin
Дополнительные аргументы, передаваемые pip.
name
список / элементы=строка
Имя Python библиотеки для установки или url(bzr+,hg+,git+,svn+) удалённого пакета.
Может быть списком (с версии 2.2) и содержать спецификаторы версий (с версии 2.7).
requirements
строка
Путь к файлу требований pip, который должен быть локальным для удалённой системы. Файл может быть указан как относительный путь, если используется параметр chdir.
state
строка
    Варианты:
  • absent
  • forcereinstall
  • latest
  • present ←
Состояние модуля
Вариант 'forcereinstall' доступен только в Ansible 2.1 и выше.
umask
строка
добавлен в версии 2.1 ansible.builtin
Системная маска umask для применения перед установкой пакета pip. Это полезно, например, при установке на системах, у которых маска umask по умолчанию очень жёсткая (например, "0077"), и вы хотите установить пакеты pip, которые будут использоваться всеми пользователями. Обратите внимание, что вам необходимо указать требуемый режим маски umask в виде восьмеричной строки (например, "0022").
version
строка
Номер версии для установки Python библиотеки, указанной в параметре name.
virtualenv
путь
Необязательный путь к каталогу virtualenv для установки. Не может быть указан вместе с параметром 'executable' (добавлено в версии 2.1). Если виртуальная среда не существует, она будет создана перед установкой пакетов. Параметры virtualenv_site_packages, virtualenv_command и virtualenv_python влияют на создание virtualenv.
virtualenv_command
путь
добавлен в версии 1.1 ansible.builtin
Значение по умолчанию:
"virtualenv"
Команда или путь к команде для создания виртуальной среды. Например pyvenv, virtualenv, virtualenv2, ~/bin/virtualenv, /usr/local/bin/virtualenv.
virtualenv_python
строка
добавлен в версии 2.0 ansible.builtin
Интерпретатор Python, используемый для создания виртуальной среды. Например python3.5, python2.7. Если не указано, используется версия Python, используемая для запуска модуля ansible. Этот параметр не следует использовать, когда virtualenv_command использует pyvenv или модуль -m venv.
virtualenv_site_packages
логическое
добавлен в версии 1.0 ansible.builtin
    Варианты:
  • нет ←
  • да
Указывает, будет ли виртуальная среда наследовать пакеты из глобального каталога site-packages. Обратите внимание, что если этот параметр изменён в уже существующей виртуальной среде, он не окажет никакого влияния, среда должна быть удалена и вновь создана.

Примечания

Примечание

  • Virtualenv (http://www.virtualenv.org/) должен быть установлен на удалённом хосте, если указан параметр virtualenv и требуется создание virtualenv.
  • Несмотря на то, что выполнение происходит с использованием интерпретатора Python Ansible, модуль pip выполняет вызов для выполнения фактической команды pip, поэтому он может использовать любую версию pip, которую вы укажите с помощью параметра executable. По умолчанию используется версия pip для интерпретатора Python Ansible. Например, pip3 для Python 3 и pip2 или pip для Python 2.
  • Интерпретатор, используемый Ansible (см. ansible_python_interpreter), требует пакета setuptools, независимо от версии pip, установленной с помощью параметра executable.

Примеры

- name: Install bottle python package
  pip:
    name: bottle

- name: Install bottle python package on version 0.11
  pip:
    name: bottle==0.11

- name: Install bottle python package with version specifiers
  pip:
    name: bottle>0.10,<0.20,!=0.11

- name: Install multi python packages with version specifiers
  pip:
    name:
      - django>1.11.0,<1.12.0
      - bottle>0.10,<0.20,!=0.11

- name: Install python package using a proxy
  # Pip doesn't use the standard environment variables, please use the CAPITALIZED ones below
  pip:
    name: six
  environment:
    HTTP_PROXY: '127.0.0.1:8080'
    HTTPS_PROXY: '127.0.0.1:8080'

# You do not have to supply '-e' option in extra_args
- name: Install MyApp using one of the remote protocols (bzr+,hg+,git+,svn+)
  pip:
    name: svn+http://myrepo/svn/MyApp#egg=MyApp

- name: Install MyApp using one of the remote protocols (bzr+,hg+,git+)
  pip:
    name: git+http://myrepo/app/MyApp

- name: Install MyApp from local tarball
  pip:
    name: file:///path/to/MyApp.tar.gz

- name: Install bottle into the specified (virtualenv), inheriting none of the globally installed modules
  pip:
    name: bottle
    virtualenv: /my_app/venv

- name: Install bottle into the specified (virtualenv), inheriting globally installed modules
  pip:
    name: bottle
    virtualenv: /my_app/venv
    virtualenv_site_packages: yes

- name: Install bottle into the specified (virtualenv), using Python 2.7
  pip:
    name: bottle
    virtualenv: /my_app/venv
    virtualenv_command: virtualenv-2.7

- name: Install bottle within a user home directory
  pip:
    name: bottle
    extra_args: --user

- name: Install specified python requirements
  pip:
    requirements: /my_app/requirements.txt

- name: Install specified python requirements in indicated (virtualenv)
  pip:
    requirements: /my_app/requirements.txt
    virtualenv: /my_app/venv

- name: Install specified python requirements and custom Index URL
  pip:
    requirements: /my_app/requirements.txt
    extra_args: -i https://example.com/pypi/simple

- name: Install specified python requirements offline from a local directory with downloaded packages
  pip:
    requirements: /my_app/requirements.txt
    extra_args: "--no-index --find-links=file:///my_downloaded_packages_dir"

- name: Install bottle for Python 3.3 specifically, using the 'pip3.3' executable
  pip:
    name: bottle
    executable: pip3.3

- name: Install bottle, forcing reinstallation if it's already installed
  pip:
    name: bottle
    state: forcereinstall

- name: Install bottle while ensuring the umask is 0022 (to ensure other users can use it)
  pip:
    name: bottle
    umask: "0022"
  become: True

Возвращаемые значения

Общие возвращаемые значения документированы здесь, ниже приведены поля, уникальные для этого модуля:

Ключ Возвращаемое значение Описание
cmd
строка
успех
Команда pip, используемая модулем

Пример:
pip2 install ansible six
name
список / элементы=строка
успех
Список Python модулей, на которые нацелен pip

Пример:
['ansible', 'six']
requirements
строка
успех, если был предоставлен файл требований
Путь к файлу требований

Пример:
/srv/git/project/requirements.txt
version
строка
успех, если был указан имя и версия
Версия пакета, указанного в параметре 'name'

Пример:
2.5.1
virtualenv
строка
успех, если был указан путь к virtualenv
Путь к virtualenv

Пример:
/tmp/virtualenv


Авторы

  • Matt Wright (@mattupstate)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/ansible/builtin/pip_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API