python_pip

Ansible роль python_pip

Установите pip для Python на вашей системе.

GitHub Версия Проблемы Запросы на изменение Загрузки
github Версия Проблемы Запросы на изменение Ansible Role

Пример плейбука

Этот пример взят из molecule/default/converge.yml и тестируется при каждом пуше, запросе на изменение и выпуске.

---
- name: Свести
  hosts: all
  become: true
  gather_facts: true

  pre_tasks:
    - name: Обновить кэш apt.
      apt: update_cache=yes cache_valid_time=600
      when: ansible_os_family == 'Debian'
      changed_when: false

    - name: Проверить, существует ли файл EXTERNALLY-MANAGED для python3.11
      ansible.builtin.stat:
        path: /usr/lib/python3.11/EXTERNALLY-MANAGED
      register: externally_managed_file_py311

    - name: Переименовать файл EXTERNALLY-MANAGED для python3.11, если он существует
      ansible.builtin.command:
        cmd: mv /usr/lib/python3.11/EXTERNALLY-MANAGED /usr/lib/python3.11/EXTERNALLY-MANAGED.old
      when: externally_managed_file_py311.stat.exists
      args:
        creates: /usr/lib/python3.11/EXTERNALLY-MANAGED.old

    - name: Проверить, существует ли файл EXTERNALLY-MANAGED для python3.12
      ansible.builtin.stat:
        path: /usr/lib/python3.12/EXTERNALLY-MANAGED
      register: externally_managed_file_py312

    - name: Переименовать файл EXTERNALLY-MANAGED для python3.12, если он существует
      ansible.builtin.command:
        cmd: mv /usr/lib/python3.12/EXTERNALLY-MANAGED /usr/lib/python3.12/EXTERNALLY-MANAGED.old
      when: externally_managed_file_py312.stat.exists
      args:
        creates: /usr/lib/python3.12/EXTERNALLY-MANAGED.old

  roles:
    - role: buluma.python_pip

Машина должна быть подготовлена. В CI это делается с помощью molecule/default/prepare.yml:

---
- name: Подготовка
  hosts: all
  become: true
  gather_facts: false

  roles:
    - role: buluma.bootstrap
    - role: buluma.epel
    - role: buluma.buildtools

Также смотрите полное объяснение и пример о том, как использовать эти роли.

Переменные роли

По умолчанию значения переменных установлены в defaults/main.yml:

---
# файл по умолчанию для python_pip

# По умолчанию модули не должны быть установлены. Примечание: Это не работает на Debian Bookworm и Ubuntu noble.
# См. https://peps.python.org/pep-0668/
python_pip_modules: []

# Подключитесь к прокси (pypi), установив эту переменную.
# python_pip_proxy: "https://user:password@proxy:8443/artifactory/pypi/pypi-virtual/simple"

# Не забудьте доверять сторонним репозиториям pip, если вы их используете.
# python_pip_trusted_host: my-pip-repository.example.com

# Вы можете сделать так, чтобы эта роль обновила pip, используя pip.
python_pip_update: true

# Вы можете использовать что-то другое, кроме стандартного бинарного файла pip.
# python_pip_executable: pip3

Требования

Состояние используемых ролей

Следующие роли используются для подготовки системы. Вы можете подготовить свою систему другим способом.

Требование GitHub Версия
buluma.bootstrap Ansible Molecule Версия
buluma.buildtools Ansible Molecule Версия
buluma.epel Ansible Molecule Версия

Контекст

Эта роль является частью многих совместимых ролей. Ознакомьтесь с документацией этих ролей для получения дополнительной информации.

Вот обзор связанных ролей:

зависимости

Совместимость

Эта роль была протестирована на следующих контейнерных образах:

контейнер теги
Alpine все
Debian все
EL 9, 8
Fedora 39, 38, 40
opensuse все
Ubuntu focal, bionic, jammy, lunar, noble

Минимальная версия Ansible, требуемая для работы, - 2.12. Тесты проводились на:

  • Предыдущей версии.
  • Текущей версии.
  • Разработческой версии.

Если вы найдете проблемы, пожалуйста, зарегистрируйте их в GitHub

Журнал изменений

История роли

Лицензия

Apache-2.0

Информация об авторе

Shadow Walker

О проекте

Install pythons pip on your system.

Установить
ansible-galaxy install buluma/ansible-role-python_pip
Лицензия
apache-2.0
Загрузки
1139262
Владелец
DevOps Engineer