Spec-Zone.ru › Ansible 2.8

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

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

Описание

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

Требования

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

  • pip
  • virtualenv
  • setuptools

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
chdir
-
Изменение текущей директории перед выполнением команды
editable
boolean
добавлен в 2.0
    Варианты:
  • нет ←
  • да
Передача флага editable.
executable
-
Явное указание исполняемого файла или путь к исполняемому файлу для запуска pip для определенной версии Python, установленной в системе. Например pip-3.3, если в системе установлены Python 2.7 и 3.3, и вы хотите запустить pip для установки Python 3.3. Не может быть указано вместе с параметром 'virtualenv' (добавлен в 2.1). По умолчанию используется соответствующая версия для интерпретатора Python, используемого ansible, например, pip3 для Python 3 и pip2 или pip для Python 2.
extra_args
-
Дополнительные аргументы, передаваемые в pip.
name
-
Имя библиотеки Python для установки или URL (bzr+, hg+, git+, svn+) удаленного пакета.
Может быть списком (с версии 2.2) и содержать спецификаторы версий (с версии 2.7).
requirements
-
Путь к файлу требований pip, который должен быть локальным на удаленной системе. Файл может быть указан как относительный путь, если используется параметр chdir.
state
-
    Варианты:
  • отсутствует
  • принудительная переустановка
  • последняя версия
  • наличие ←
Состояние модуля
Вариант 'принудительная переустановка' доступен только в Ansible 2.1 и выше.
umask
-
добавлен в 2.1
Системный 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
-
добавлен в 2.0
Исполняемый файл Python, используемый для создания виртуальной среды. Например python3.5, python2.7. Если не указано, используется версия Python, используемая для запуска модуля ansible. Этот параметр не следует использовать, когда virtualenv_command использует pyvenv или модуль -m venv.
virtualenv_site_packages
boolean
    Варианты:
  • нет ←
  • да
Будет ли виртуальная среда наследовать пакеты из глобального каталога site-packages. Обратите внимание, что если этот параметр изменить в уже существующей виртуальной среде, это не повлияет; среда должна быть удалена и создана заново.

Примечания

Примечание

  • Обратите внимание, что virtualenv (http://www.virtualenv.org/) должен быть установлен на удаленном хосте, если указан параметр virtualenv и virtualenv должен быть создан.
  • По умолчанию этот модуль будет использовать соответствующую версию pip для интерпретатора, используемого ansible (например, pip3 при использовании Python 3, pip2 в противном случае).

Примеры

# 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 'pip-3.3' executable.
- pip:
    name: bottle
    executable: pip-3.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
строка
успех, если был предоставлен файл требований
Путь к файлу требований

Пример:
/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.8/modules/pip_module.html

Spec-Zone.ru

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