Spec-Zone.ru › Ansible 2.9

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

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

Описание

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

Требования

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

  • pip
  • virtualenv
  • setuptools

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
chdir
путь
перейти в этот каталог перед выполнением команды
editable
логическое значение
    Варианты:
  • нет ←
  • да
Передать флаг editable.
executable
путь
Явный исполняемый файл или путь к файлу для 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
строка
Дополнительные аргументы, передаваемые pip.
name
список
Имя Python библиотеки для установки или URL (bzr+, hg+, git+, svn+) удаленного пакета.
Может быть списком (с версии 2.2) и содержать спецификаторы версий (с версии 2.7).
requirements
строка
Путь к файлу pip requirements, который должен быть локальным для удаленной системы. Файл может быть указан как относительный путь, если используется параметр chdir.
state
строка
    Варианты:
  • отсутствует
  • принудительная переустановка
  • последняя версия
  • наличие ←
Состояние модуля
Вариант 'принудительная переустановка' доступен только в Ansible 2.1 и выше.
umask
строка
Система 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
путь
По умолчанию:
"virtualenv"
Команда или путь к команде для создания виртуальной среды. Например pyvenv, virtualenv, virtualenv2, ~/bin/virtualenv, /usr/local/bin/virtualenv.
virtualenv_python
строка
Интерпретатор Python, используемый для создания виртуальной среды. Например python3.5, python2.7. Если не указан, используется версия Python, используемая для запуска модуля ansible. Этот параметр не следует использовать, когда virtualenv_command использует pyvenv или модуль -m venv.
virtualenv_site_packages
логическое значение
    Варианты:
  • нет ←
  • да
Указывает, будет ли виртуальная среда наследовать пакеты из глобального каталога 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.

Примеры

# Install (Bottle) python package.
- pip:
    name: bottle

# Install (Bottle) python package on version 0.11.
- pip:
    name: bottle==0.11

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

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

# Install python package using a proxy - it 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'

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

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

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

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

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

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

# Install (Bottle) within a user home directory.
- pip:
    name: bottle
    extra_args: --user

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

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

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

# 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"

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

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

# 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
строка
успех, если был предоставлен файл requirements
Путь к файлу requirements

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

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

Пример:
/tmp/virtualenv


Статус

  • Данный модуль не гарантирует обратную совместимость интерфейса. [превью]
  • Данный модуль поддерживается командой разработчиков Ansible. [core]

Поддержка Red Hat

Дополнительную информацию о поддержке данного модуля Red Hat см. в статье Базы знаний Red Hat.

Авторы

  • 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.9/modules/pip_module.html

Spec-Zone.ru

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