Spec-Zone.ru › Ansible 2.10

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

Примечание

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

Новый в версии 0.7: of 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 не существует, он будет создан перед установкой пакетов. Необязательные параметры 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.
  • Хотя модуль pip выполняется с помощью интерпретатора Python Ansible, он использует оболочку для выполнения фактической команды 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/ansible/builtin/pip_module.html

Spec-Zone.ru

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