pip — Управляет зависимостями библиотек Python
Описание
- Управляет зависимостями библиотек Python. Для использования этого модуля требуется один из следующих ключей:
nameилиrequirements.
Требования
Ниже приведены требования к хосту, на котором выполняется этот модуль.
- pip
- virtualenv
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| chdir (добавлен в 1.3) | Перейти в этот каталог перед выполнением команды | |
| editable (добавлен в 2.0) |
| Передать флаг editable. |
| executable (добавлен в 1.3) | Явный исполняемый файл или путь к исполняемому файлу, который будет использоваться для запуска 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 удаленного пакета. С версии 2.2 можно указать список имён. | |
| requirements | Путь к файлу pip requirements, который должен быть локальным для удалённой системы. Путь может быть относительным, если используется параметр chdir. | |
| state |
| Состояние модуля Вариант «переустановить» доступен только в Ansible 2.1 и выше. |
| umask (добавлен в 2.1) | Системный umask, который необходимо применить перед установкой пакета pip. Это полезно, например, при установке на системах с очень жёстким umask по умолчанию (например, 0077), и вы хотите установить пакеты pip, которые должны использоваться всеми пользователями. Обратите внимание, что это требует указания желаемого режима umask в восьмеричной системе, с ведущей 0 (например, 0077). | |
| 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 |
| Указывает, будет ли виртуальная среда наследовать пакеты из глобального каталога 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
version: 0.11
# 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 (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
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется обратной совместимостью.
Поддержка
Дополнительную информацию о поддержке этого модуля компанией 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.5/modules/pip_module.html