pip — Управляет зависимостями библиотек Python
Обзор
- Управляет зависимостями библиотек Python. Для использования этого модуля требуется один из следующих ключей:
nameилиrequirements.
Требования
Ниже приведены требования к хосту, на котором выполняется этот модуль.
- pip
- virtualenv
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| chdir (добавлено в 1.3) | Перейти в этот каталог перед выполнением команды | |
| editable bool (добавлено в 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, который должен быть локальным для удалённой системы. Файл можно указать как относительный путь, если используется параметр chdir. | |
| state |
| Состояние модуля Вариант 'forcereinstall' доступен только в 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 bool |
| Указывает, будет ли виртуальная среда наследовать пакеты из глобального каталога 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
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется как обратная совместимость.
Техническое сопровождение
Этот модуль помечен как ядро, что означает, что он поддерживается командой Ansible Core. Подробнее см. Техническое сопровождение и поддержка модулей.
Список других модулей, также поддерживаемых командой Ansible Core, см. здесь.
Поддержка
Дополнительную информацию о поддержке этого модуля компанией 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.6/modules/pip_module.html