Spec-Zone.ru › Ansible

Модуль community.general.pipx — управление приложениями, установленными с помощью pipx

Примечание

Этот модуль входит в коллекцию community.general (версия 12.6.1).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Чтобы установить её, используйте: ansible-galaxy collection install community.general. Для использования этого модуля необходимы дополнительные требования; подробности см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: community.general.pipx.

Добавлено в community.general 3.8.0

  • Краткое описание
  • Требования
  • Параметры
  • Атрибуты
  • Примечания
  • См. также
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Управление приложениями Python, установленными в изолированных виртуальных средах с помощью pipx.

Требования

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

  • Если версия пакета packaging ниже 22.0.0, при обработке недопустимых спецификаторов, например tox<<<<4.0, он завершает работу без сообщения об ошибке.
  • Обратите внимание, что для pipx 1.7.0 требуется Python 3.8 или новее.
  • Обратите внимание, что для pipx 1.8.0 требуется Python 3.9 или новее.
  • Для этого модуля требуется pipx версии 1.7.0 или новее.
  • При использовании name со спецификаторами версий требуется пакет Python packaging.

Параметры

Параметр

Комментарии

editable

логический

добавлено в community.general 4.6.0

Установить проект в редактируемом режиме.

Варианты:

  • false ← (по умолчанию)
  • true

executable

путь

Путь к установленному в системе pipx.

Если параметр не указан, модуль использует python -m pipx для запуска инструмента, используя тот же интерпретатор Python, что и Ansible.

force

логический

Принудительно изменить виртуальную среду приложения. Подробности см. в pipx.

Используется только при state=install, state=upgrade, state=upgrade_all, state=latest или state=inject.

При force=true модуль не является идемпотентным.

Варианты:

  • false ← (по умолчанию)
  • true

global

логический

добавлено в community.general 9.4.0

Модуль передаёт аргумент --global в pipx, чтобы выполнять действия в глобальной области.

Варианты:

  • false ← (по умолчанию)
  • true

include_injected

логический

Обновлять внедрённые пакеты вместе с приложением.

Используется только при state=upgrade, state=upgrade_all или state=latest.

Начиная с community.general 6.6.0, используется с state=upgrade и state=latest.

Варианты:

  • false ← (по умолчанию)
  • true

index_url

строка

Базовый URL индекса пакетов Python.

Используется только при state=install, state=upgrade, state=latest или state=inject.

inject_packages

список / элементы=строка

Пакеты для внедрения в существующую виртуальную среду.

Используется только при state=inject.

install_apps

логический

добавлено в community.general 6.5.0

Добавлять приложения из внедрённых пакетов.

Используется только при state=inject.

Варианты:

  • false ← (по умолчанию)
  • true

install_deps

логический

Добавлять приложения зависимых пакетов.

Используется только при state=install, state=latest или state=inject.

Варианты:

  • false ← (по умолчанию)
  • true

name

строка

Имя приложения, а также имя устанавливаемого пакета Python.

В документации pipx оно также называется именем виртуальной среды, в которую устанавливается приложение.

Если name — это простое имя пакета без спецификаторов версий, оно используется как имя устанавливаемого пакета Python.

Начиная с community.general 10.7.0, при state=present или state=install можно использовать спецификаторы пакетов. Например, name=tox<4.0.0 или name=tox>3.0.27.

Обратите внимание: при использовании state=present и name со спецификаторами версий этот модуль, в отличие от pipx, учитывает спецификатор версии и устанавливает версию приложения, которая ему соответствует. Если нужно гарантировать повторную установку приложения, даже когда требуемая версия уже установлена, используйте force=true или, возможно, вместо этого state=upgrade.

Для установки из URL-адресов или каталогов используйте source.

pip_args

строка

добавлено в community.general 4.6.0

Произвольные аргументы, передаваемые напрямую в pip.

python

строка

Версия Python, используемая при создании виртуальной среды приложения. Должна быть версии 3.6 или новее.

Используется только при state=install, state=latest, state=reinstall или state=reinstall_all.

source

строка

Источник пакета. Этот параметр используется при state=install или state=latest и игнорируется для других состояний.

Используйте source при установке пакета Python со спецификатором версии, из локального пути, URL-адреса VCS или сжатого файла.

Значение этого параметра передаётся в pipx без изменений.

При использовании source параметр name всё равно необходим, чтобы задать имя приложения без загрузки пакета из удалённого источника.

При использовании source модуль не является идемпотентным.

spec_metadata

путь

добавлено в community.general 9.4.0

Файл метаданных спецификации для state=install_all.

Содержимое этого файла обычно создаётся с помощью pipx list --json. Его можно получить с помощью community.general.pipx_info, используя include_raw=true и получая содержимое из raw_output.

state

строка

Требуемое состояние приложения.

Состояния present и absent являются псевдонимами install и uninstall соответственно.

Состояние latest эквивалентно выполнению задачи дважды: сначала с состоянием install, затем с upgrade. Добавлено в community.general 5.5.0.

Состояния install_all, uninject, upgrade_shared, pin и unpin доступны только в pipx>=1.6.0; при использовании этого параметра убедитесь, что версия совместима. Эти состояния добавлены в community.general 9.4.0.

Варианты:

  • "present"
  • "absent"
  • "install" ← (по умолчанию)
  • "install_all"
  • "uninstall"
  • "uninstall_all"
  • "inject"
  • "uninject"
  • "upgrade"
  • "upgrade_shared"
  • "upgrade_all"
  • "reinstall"
  • "reinstall_all"
  • "latest"
  • "pin"
  • "unpin"

suffix

строка

добавлено в community.general 9.3.0

Необязательный суффикс для имён виртуальной среды и исполняемых файлов.

Предупреждение: в документации pipx указано, что эта функция является экспериментальной и может измениться.

system_site_packages

логический

добавлено в community.general 6.6.0

Предоставить виртуальной среде приложения доступ к каталогу системных site-packages.

Используется только при state=install или state=latest.

Варианты:

  • false ← (по умолчанию)
  • true

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: полная

Может работать в режиме check_mode и возвращать прогноз изменения состояния, не изменяя целевой узел.

diff_mode

Поддержка: полная

В режиме diff возвращает сведения об изменениях (или о том, что, возможно, требуется изменить в check_mode).

Примечания

Примечание

  • Этот модуль не устанавливает пакет Python pipx, однако это можно легко сделать с помощью модуля ansible.builtin.pip.
  • Для этого модуля не требуется, чтобы pipx находился в переменной оболочки PATH, но он должен быть доступен Python как модуль, то есть команда python -m pipx должна выполняться успешно.
  • Модуль учитывает переменные среды pipx, включая, помимо прочего, PIPX_HOME и PIPX_BIN_DIR, переданные с помощью ключевого слова Ansible environment.
  • Этот модуль отключает эмодзи в выводе команд pipx, чтобы уменьшить загромождение. В версии pipx 1.8.0 переменная среды USE_EMOJI была переименована в PIPX_USE_EMOJI. Для совместимости с обеими версиями, начиная с community.general 11.4.0, модуль устанавливает для обеих переменных значение 0, отключая эмодзи.

См. также

См. также

Страница руководства по команде C(pipx)

Страница руководства по команде.

Примеры

- name: Install tox
  community.general.pipx:
    name: tox

- name: Install tox from git repository
  community.general.pipx:
    name: tox
    source: git+https://github.com/tox-dev/tox.git

- name: Upgrade tox
  community.general.pipx:
    name: tox
    state: upgrade

- name: Install or upgrade tox with extra 'docs'
  community.general.pipx:
    name: tox
    source: tox[docs]
    state: latest

- name: Reinstall black with specific Python version
  community.general.pipx:
    name: black
    state: reinstall
    python: 3.7

- name: Uninstall pycowsay
  community.general.pipx:
    name: pycowsay
    state: absent

- name: Install multiple packages from list
  vars:
    pipx_packages:
      - pycowsay
      - black
      - tox
  community.general.pipx:
    name: "{{ item }}"
    state: latest
  with_items: "{{ pipx_packages }}"

Возвращаемые значения

Общие возвращаемые значения описаны здесь; ниже приведены поля, уникальные для этого модуля:

Ключ

Описание

version

строка

добавлено в community.general 10.1.0

Версия pipx.

Возвращается: всегда

Пример: "1.7.1"

Авторы

  • Alexei Znamensky (@russoz)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Обратиться за помощью
  • Сообщить об ошибке
  • Предложить функцию
  • Общение

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/general/pipx_module.html

Spec-Zone.ru

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