pyenv
Ansible роль: Pyenv
Ansible Galaxy роль для pyenv на Debian / Ubuntu / RedHat / OSX.
Установите её с помощью следующей команды:
$ ansible-galaxy install staticdev.pyenv
Требования
Отсутствуют.
Переменные роли
Вот список всех переменных и их значений по умолчанию:
pyenv_version: "HEAD"
- проверьте на https://github.com/pyenv/pyenv/releasespyenv_virtualenv_version: "HEAD"
- проверьте на https://github.com/pyenv/pyenv-virtualenv/releasespyenv_update_version: "HEAD"
- обычно не имеет релизов, но можно указать хеш коммитаpyenv_env: "user"
(должно быть либо"user"
, либо"system"
)pyenv_path: "{% if pyenv_env == 'user' %}{{ ansible_env.HOME }}/pyenv{% else %}/usr/local/pyenv{% endif %}"
pyenvrc_path: "{{ pyenv_path }}"
pyenv_owner: "{{ ansible_facts.user_id }}"
pyenv_owner_group: "{{ pyenv_owner }}"
pyenv_python_versions: [3.12.1]
pyenv_virtualenvs: [{ venv_name: latest, py_version: 3.12.1 }]
pyenv_global: [3.12.1]
pyenv_update_git_install: true
(получить последнюю версию pyenv из git)pyenv_enable_autocompletion: false
pyenv_enable_virtualenvs: true
pyenv_shellrc_file: "{% if pyenv_env == 'user' %}~/.bashrc{% else %}/etc/profile.d/pyenv.sh{% endif %}"
pyenv_tmpdir: (должно быть явно указано)
- переменная окруженияTMPDIR
, используемая python-build, как описано в Специальных переменных окружения.pyenv_python_build_build_path: (должно быть явно указано)
- переменная окруженияPYTHON_BUILD_BUILD_PATH
, используемая python-build, как описано в Специальных переменных окружения.pyenv_python_build_cache_path: (должно быть явно указано)
- переменная окруженияPYTHON_BUILD_CACHE_PATH
, используемая python-build, как описано в Специальных переменных окружения.pyenv_python_build_mirror_url: (должно быть явно указано)
- переменная окруженияPYTHON_BUILD_MIRROR_URL
, используемая python-build, как описано в Специальных переменных окружения.pyenv_python_build_mirror_url_skip_checksum: (должно быть явно указано)
- переменная окруженияPYTHON_BUILD_MIRROR_URL_SKIP_CHECKSUM
, используемая python-build, как описано в Специальных переменных окружения.pyenv_python_build_skip_mirror: (должно быть явно указано)
- переменная окруженияPYTHON_BUILD_SKIP_MIRROR
, используемая python-build, как описано в Специальных переменных окружения.pyenv_python_build_skip_homebrew: (должно быть явно указано)
- переменная окруженияPYTHON_BUILD_SKIP_HOMEBREW
, используемая python-build, как описано в Специальных переменных окружения.pyenv_python_build_root: (должно быть явно указано)
- переменная окруженияPYTHON_BUILD_ROOT
, используемая python-build, как описано в Специальных переменных окружения.pyenv_python_build_definitions: (должно быть явно указано)
- переменная окруженияPYTHON_BUILD_DEFINITIONS
, используемая python-build, как описано в Специальных переменных окружения.pyenv_python_configure_opts: (должно быть явно указано)
- переменная окруженияPYTHON_CONFIGURE_OPTS
, используемая python-build, как описано в Специальных переменных окружения.pyenv_python_cflags: (должно быть явно указано)
- переменная окруженияPYTHON_CFLAGS
, используемая python-build, как описано в Специальных переменных окружения.pyenv_python_make_opts: (должно быть явно указано)
- переменная окруженияPYTHON_MAKE_OPTS
, используемая python-build, как описано в Специальных переменных окружения.pyenv_python_make_install_opts: (должно быть явно указано)
- переменная окруженияPYTHON_MAKE_INSTALL_OPTS
, используемая python-build, как описано в Специальных переменных окружения.pyenv_profile_task: (должно быть явно указано)
- переменная окруженияPROFILE_TASK
для настройки задачи, используемой для оптимизации с профилированием, как описано в построении Python для максимальной производительности. Смотрите также здесь.pyenv_custom_pyenvrc_file: (должно быть явно указано)
- путь к пользовательскому файлу.pyenvrc
, который будет подключён из{{ pyenvrc_path }}/.pyenvrc
. Это позволяет вам свободно настраивать окружение, которое будет использоваться во время выполненияpyenv
. Если указано, этот файл будет скопирован как{{ pyenvrc_path }}/.pyenvrc.custom
.pyenv_install_extra_opts: ("" -без дополнительных параметров-)
- проверьте выводpyenv install --help
для доступных дополнительных опций.
Зависимости
Отсутствуют.
Пример playbook
- hosts: servers
roles:
- role: staticdev.pyenv
vars:
# из https://github.com/pyenv/pyenv/releases
pyenv_version: "v2.3.35"
# из https://github.com/pyenv/pyenv-virtualenv/releases
pyenv_virtualenv_version: "v1.2.1"
# из https://github.com/pyenv/pyenv-update/commits/master/
pyenv_update_version: "172a0ed"
pyenv_shellrc_file: "{{ ansible_env.HOME }}/.shrc"
pyenv_path: "{{ ansible_env.HOME }}/.pyenv"
pyenvrc_path: "{{ ansible_env.HOME }}"
pyenv_owner: "{{ instance_owner }}"
pyenv_global:
- 3.12.1
- 3.11.7
pyenv_enable_autocompletion: false
pyenv_python_versions:
- 3.12.1
- 3.11.7
pyenv_virtualenvs:
- venv_name: latest_v312
py_version: 3.12.1
- venv_name: latest_v311
py_version: 3.11.7
pyenv_make_opts: "-j4"
pyenv_python_configure_opts: "--enable-optimizations --with-lto --with-ensurepip=upgrade"
pyenv_python_cflags: "-march=native -mtune=native"
pyenv_profile_task: "-m test.regrtest --pgo -j0"
Лицензия
Распределяется на условиях лицензии MIT, Ansible роль Pyenv является бесплатным и открытым программным обеспечением.
Информация об авторе
staticdev. Основывается на avanov.pyenv Максима Аванова.
Установить
ansible-galaxy install staticdev/ansible-role-pyenv
Лицензия
mit
Загрузки
121049
Владелец