buluma.python_pip
Ansible роль python_pip
Установите pip для Python на вашей системе.
| GitHub | Версия | Проблемы | Запросы на изменение | Загрузки |
|---|---|---|---|---|
Пример плейбука
Этот пример взят из 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
Требования
- пакеты pip, перечисленные в requirements.txt.
Состояние используемых ролей
Следующие роли используются для подготовки системы. Вы можете подготовить свою систему другим способом.
| Требование | GitHub | Версия |
|---|---|---|
| buluma.bootstrap | ||
| buluma.buildtools | ||
| buluma.epel |
Контекст
Эта роль является частью многих совместимых ролей. Ознакомьтесь с документацией этих ролей для получения дополнительной информации.
Вот обзор связанных ролей:

Совместимость
Эта роль была протестирована на следующих контейнерных образах:
| контейнер | теги |
|---|---|
| Alpine | все |
| Debian | все |
| EL | 9, 8 |
| Fedora | 39, 38, 40 |
| opensuse | все |
| Ubuntu | focal, bionic, jammy, lunar, noble |
Минимальная версия Ansible, требуемая для работы, - 2.12. Тесты проводились на:
- Предыдущей версии.
- Текущей версии.
- Разработческой версии.
Если вы найдете проблемы, пожалуйста, зарегистрируйте их в GitHub
Журнал изменений
Лицензия
Информация об авторе
ansible-galaxy install buluma.python_pip