Files
DevOpsLab/roles/python/vars/main.yml
Сергей Антропов f6d1182193 Обновление проекта
2025-10-28 19:19:49 +03:00

501 lines
10 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
# Переменные для роли python
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru
# Определение семейства ОС и версии
python_os_family: "{{ ansible_os_family | lower }}"
python_distribution: "{{ ansible_distribution | lower }}"
python_distribution_version: "{{ ansible_distribution_version }}"
# Переменные для разных дистрибутивов
python_package_managers:
debian: "apt"
ubuntu: "apt"
redhat: "dnf"
centos: "dnf"
rhel: "dnf"
rocky: "dnf"
alma: "dnf"
fedora: "dnf"
suse: "zypper"
opensuse: "zypper"
alt: "apt-rpm"
"alt linux": "apt-rpm"
astra: "apt"
"astra linux": "apt"
clearlinux: "swupd"
# Пакеты для установки Python 3.12 в разных дистрибутивах
python_packages_by_os:
debian:
- python3.12
- python3.12-dev
- python3.12-venv
- python3.12-distutils
- python3.12-lib2to3
- python3.12-gdbm
- python3.12-tk
# Альтернативные пакеты для старых Debian
- python3.11
- python3.11-dev
- python3.11-venv
ubuntu:
- python3.12
- python3.12-dev
- python3.12-venv
- python3.12-distutils
- python3.12-lib2to3
- python3.12-gdbm
- python3.12-tk
# Альтернативные пакеты для старых Ubuntu
- python3.11
- python3.11-dev
- python3.11-venv
# Пакеты без версии для совместимости
- python3-distutils
- python3-lib2to3
redhat:
- python3.12
- python3.12-pip
- python3.12-devel
- python3.12-tkinter
centos:
- python3.12
- python3.12-pip
- python3.12-devel
- python3.12-tkinter
# Альтернативные пакеты для старых CentOS
- python312
- python312-pip
- python312-devel
# SCL пакеты для очень старых CentOS
- rh-python312
- rh-python312-python-pip
- rh-python312-python-devel
rhel:
- python3.12
- python3.12-pip
- python3.12-devel
- python3.12-tkinter
# Альтернативные пакеты для старых RHEL
- python312
- python312-pip
- python312-devel
# SCL пакеты для очень старых RHEL
- rh-python312
- rh-python312-python-pip
- rh-python312-python-devel
rocky:
- python3.12
- python3.12-pip
- python3.12-devel
- python3.12-tkinter
alma:
- python3.12
- python3.12-pip
- python3.12-devel
- python3.12-tkinter
fedora:
- python3.12
- python3.12-pip
- python3.12-devel
- python3.12-tkinter
suse:
- python312
- python312-devel
- python312-pip
opensuse:
- python312
- python312-devel
- python312-pip
alt:
- python3.12
- python3.12-devel
- python3.12-pip
astra:
- python3.12
- python3.12-dev
- python3.12-venv
- python3.12-distutils
- python3.12-lib2to3
- python3.12-gdbm
- python3.12-tk
clearlinux:
- python3
- python3-dev
- python3-pip
- python3-setuptools
- python3-wheel
- python3-venv
"alt linux":
- python3.12
- python3.12-devel
- python3.12-pip
"astra linux":
- python3.12
- python3.12-dev
- python3.12-venv
- python3.12-distutils
- python3.12-lib2to3
- python3.12-gdbm
- python3.12-tk
# Репозитории для разных дистрибутивов
python_repositories:
debian:
- name: "deadsnakes"
url: "ppa:deadsnakes/ppa"
state: "present"
- name: "deadsnakes-debian"
url: "deb http://ppa.launchpad.net/deadsnakes/ppa/ubuntu focal main"
state: "present"
ubuntu:
- name: "deadsnakes"
url: "ppa:deadsnakes/ppa"
state: "present"
redhat:
- name: "epel"
state: "present"
- name: "ius"
url: "https://repo.ius.io/redhat/7/x86_64/"
state: "present"
centos:
- name: "epel"
state: "present"
- name: "ius"
url: "https://repo.ius.io/centos/7/x86_64/"
state: "present"
- name: "scl"
url: "https://www.softwarecollections.org/en/scls/rhscl/rh-python312/"
state: "present"
rhel:
- name: "epel"
state: "present"
- name: "ius"
url: "https://repo.ius.io/redhat/7/x86_64/"
state: "present"
- name: "scl"
url: "https://www.softwarecollections.org/en/scls/rhscl/rh-python312/"
state: "present"
rocky:
- name: "epel"
state: "present"
alma:
- name: "epel"
state: "present"
fedora:
- name: "epel"
state: "present"
# Команды для обновления пакетов
python_update_commands:
debian: "apt update"
ubuntu: "apt update"
redhat: "dnf update -y"
centos: "dnf update -y"
rhel: "dnf update -y"
rocky: "dnf update -y"
alma: "dnf update -y"
fedora: "dnf update -y"
suse: "zypper refresh"
opensuse: "zypper refresh"
alt: "apt-get update"
"alt linux": "apt-get update"
astra: "apt update"
"astra linux": "apt update"
clearlinux: "swupd update"
# Команды для установки пакетов
python_install_commands:
debian: "apt install -y"
ubuntu: "apt install -y"
redhat: "dnf install -y"
centos: "dnf install -y"
rhel: "dnf install -y"
rocky: "dnf install -y"
alma: "dnf install -y"
fedora: "dnf install -y"
suse: "zypper install -y"
opensuse: "zypper install -y"
alt: "apt-get install -y"
"alt linux": "apt-get install -y"
astra: "apt install -y"
"astra linux": "apt install -y"
clearlinux: "swupd bundle-add"
# Пути к исполняемым файлам Python
python_executable_paths:
debian: "/usr/bin/python3.12"
ubuntu: "/usr/bin/python3.12"
redhat: "/usr/bin/python3.12"
centos: "/usr/bin/python3.12"
rhel: "/usr/bin/python3.12"
rocky: "/usr/bin/python3.12"
alma: "/usr/bin/python3.12"
fedora: "/usr/bin/python3.12"
suse: "/usr/bin/python3.12"
opensuse: "/usr/bin/python3.12"
alt: "/usr/bin/python3.12"
"alt linux": "/usr/bin/python3.12"
astra: "/usr/bin/python3.12"
"astra linux": "/usr/bin/python3.12"
clearlinux: "/usr/bin/python3"
# Пути к pip
python_pip_paths:
debian: "/usr/bin/pip3.12"
ubuntu: "/usr/bin/pip3.12"
redhat: "/usr/bin/pip3.12"
centos: "/usr/bin/pip3.12"
rhel: "/usr/bin/pip3.12"
rocky: "/usr/bin/pip3.12"
alma: "/usr/bin/pip3.12"
fedora: "/usr/bin/pip3.12"
suse: "/usr/bin/pip3.12"
opensuse: "/usr/bin/pip3.12"
alt: "/usr/bin/pip3.12"
"alt linux": "/usr/bin/pip3.12"
astra: "/usr/bin/pip3.12"
"astra linux": "/usr/bin/pip3.12"
clearlinux: "/usr/bin/pip3"
# Системные зависимости для компиляции
python_build_deps_by_os:
debian:
- build-essential
- zlib1g-dev
- libssl-dev
- libffi-dev
- libsqlite3-dev
- libreadline-dev
- libbz2-dev
- libncurses5-dev
- libncursesw5-dev
- xz-utils
- tk-dev
- libgdbm-dev
- libdb-dev
- libpcap-dev
- liblzma-dev
ubuntu:
- build-essential
- zlib1g-dev
- libssl-dev
- libffi-dev
- libsqlite3-dev
- libreadline-dev
- libbz2-dev
- libncurses5-dev
- libncursesw5-dev
- xz-utils
- tk-dev
- libgdbm-dev
- libdb-dev
- libpcap-dev
- liblzma-dev
redhat:
- gcc
- gcc-c++
- make
- zlib-devel
- openssl-devel
- libffi-devel
- sqlite-devel
- readline-devel
- bzip2-devel
- ncurses-devel
- xz-devel
- tk-devel
- gdbm-devel
- db4-devel
- libpcap-devel
- expat-devel
- libnsl2-devel
centos:
- gcc
- gcc-c++
- make
- zlib-devel
- openssl-devel
- libffi-devel
- sqlite-devel
- readline-devel
- bzip2-devel
- ncurses-devel
- xz-devel
- tk-devel
- gdbm-devel
- expat-devel
# Альтернативные пакеты для CentOS
- gdbm
- db4
rhel:
- gcc
- gcc-c++
- make
- zlib-devel
- openssl-devel
- libffi-devel
- sqlite-devel
- readline-devel
- bzip2-devel
- ncurses-devel
- xz-devel
- tk-devel
- gdbm-devel
- expat-devel
rocky:
- gcc
- gcc-c++
- make
- zlib-devel
- openssl-devel
- libffi-devel
- sqlite-devel
- readline-devel
- bzip2-devel
- ncurses-devel
- xz-devel
- tk-devel
- gdbm-devel
- expat-devel
alma:
- gcc
- gcc-c++
- make
- zlib-devel
- openssl-devel
- libffi-devel
- sqlite-devel
- readline-devel
- bzip2-devel
- ncurses-devel
- xz-devel
- tk-devel
- gdbm-devel
- expat-devel
fedora:
- gcc
- gcc-c++
- make
- zlib-devel
- openssl-devel
- libffi-devel
- sqlite-devel
- readline-devel
- bzip2-devel
- ncurses-devel
- xz-devel
- tk-devel
- gdbm-devel
- expat-devel
suse:
- gcc
- gcc-c++
- make
- zlib-devel
- libopenssl-devel
- libffi-devel
- sqlite3-devel
- readline-devel
- bzip2-devel
- ncurses-devel
- xz-devel
- tk-devel
- gdbm-devel
- libpcap-devel
- expat-devel
- libnsl2-devel
opensuse:
- gcc
- gcc-c++
- make
- zlib-devel
- libopenssl-devel
- libffi-devel
- sqlite3-devel
- readline-devel
- bzip2-devel
- ncurses-devel
- xz-devel
- tk-devel
- gdbm-devel
- expat-devel
alt:
- gcc
- gcc-c++
- make
- zlib-devel
- openssl-devel
- libffi-devel
- sqlite-devel
- readline-devel
- bzip2-devel
- ncurses-devel
- xz-devel
- tk-devel
- gdbm-devel
- expat-devel
astra:
- build-essential
- zlib1g-dev
- libssl-dev
- libffi-dev
- libsqlite3-dev
- libreadline-dev
- libbz2-dev
- libncurses5-dev
- libncursesw5-dev
- xz-utils
- tk-dev
- libgdbm-dev
- libdb-dev
- libpcap-dev
- liblzma-dev
clearlinux:
- os-core-devel
- python3-dev
- zlib-devel
- openssl-devel
- libffi-devel
- sqlite-devel
- readline-devel
- bzip2-devel
- ncurses-devel
- xz-devel
- tk-devel
- gdbm-devel
- expat-devel
"alt linux":
- gcc
- gcc-c++
- make
- zlib-devel
- openssl-devel
- libffi-devel
- sqlite-devel
- readline-devel
- bzip2-devel
- ncurses-devel
- xz-devel
- tk-devel
- gdbm-devel
- expat-devel
"astra linux":
- build-essential
- zlib1g-dev
- libssl-dev
- libffi-dev
- libsqlite3-dev
- libreadline-dev
- libbz2-dev
- libncurses5-dev
- libncursesw5-dev
- xz-utils
- tk-dev
- libgdbm-dev
- libdb-dev
- libpcap-dev
- liblzma-devel