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/ansible-role-python_pip