staticdev.pyenv

Rôle Ansible : Pyenv

Tests

Rôle Ansible Galaxy pour pyenv sur Debian / Ubuntu / RedHat / OSX.

Installez-le avec la commande suivante :

$ ansible-galaxy install staticdev.pyenv

Exigences

Aucune.

Variables du rôle

Voici la liste de toutes les variables et leurs valeurs par défaut :

  • pyenv_version: "HEAD" - consultez https://github.com/pyenv/pyenv/releases
  • pyenv_virtualenv_version: "HEAD" - consultez https://github.com/pyenv/pyenv-virtualenv/releases
  • pyenv_update_version: "HEAD" - n'a généralement pas de versions publiées, mais on peut spécifier un hash de commit
  • pyenv_env: "user" (doit être soit "user" soit "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 (récupérer la dernière version de pyenv depuis 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: (doit être défini explicitement) - variable d'environnement TMPDIR utilisée par python-build comme décrit dans Special Environment Variables.
  • pyenv_python_build_build_path: (doit être défini explicitement) - variable d'environnement PYTHON_BUILD_BUILD_PATH utilisée par python-build comme décrit dans Special Environment Variables.
  • pyenv_python_build_cache_path: (doit être défini explicitement) - variable d'environnement PYTHON_BUILD_CACHE_PATH utilisée par python-build comme décrit dans Special Environment Variables.
  • pyenv_python_build_mirror_url: (doit être défini explicitement) - variable d'environnement PYTHON_BUILD_MIRROR_URL utilisée par python-build comme décrit dans Special Environment Variables.
  • pyenv_python_build_mirror_url_skip_checksum: (doit être défini explicitement) - variable d'environnement PYTHON_BUILD_MIRROR_URL_SKIP_CHECKSUM utilisée par python-build comme décrit dans Special Environment Variables.
  • pyenv_python_build_skip_mirror: (doit être défini explicitement) - variable d'environnement PYTHON_BUILD_SKIP_MIRROR utilisée par python-build comme décrit dans Special Environment Variables.
  • pyenv_python_build_skip_homebrew: (doit être défini explicitement) - variable d'environnement PYTHON_BUILD_SKIP_HOMEBREW utilisée par python-build comme décrit dans Special Environment Variables.
  • pyenv_python_build_root: (doit être définiexplicitement) - variable d'environnement PYTHON_BUILD_ROOT utilisée par python-build comme décrit dans Special Environment Variables.
  • pyenv_python_build_definitions: (doit être défini explicitement) - variable d'environnement PYTHON_BUILD_DEFINITIONS utilisée par python-build comme décrit dans Special Environment Variables.
  • pyenv_python_configure_opts: (doit être défini explicitement) - variable d'environnement PYTHON_CONFIGURE_OPTS utilisée par python-build comme décrit dans Special Environment Variables.
  • pyenv_python_cflags: (doit être défini explicitement) - variable d'environnement PYTHON_CFLAGS utilisée par python-build comme décrit dans Special Environment Variables.
  • pyenv_python_make_opts: (doit être défini explicitement) - variable d'environnement PYTHON_MAKE_OPTS utilisée par python-build comme décrit dans Special Environment Variables.
  • pyenv_python_make_install_opts: (doit être défini explicitement) - variable d'environnement PYTHON_MAKE_INSTALL_OPTS utilisée par python-build comme décrit dans Special Environment Variables.
  • pyenv_configure_opts: (doit être défini explicitement) - variable d'environnement CONFIGURE_OPTS utilisée par python-build comme décrit dans Special Environment Variables.
  • pyenv_cc: (doit être défini explicitement) - variable d'environnement CC utilisée par python-build comme décrit dans Special Environment Variables.
  • pyenv_make: (doit être défini explicitement) - variable d'environnement MAKE utilisée par python-build comme décrit dans Special Environment Variables.
  • pyenv_make_opts: (doit être défini explicitement) - variable d'environnement MAKE_OPTS utilisée par python-build comme décrit dans Special Environment Variables.
  • pyenv_make_install_opts: (doit être défini explicitement) - variable d'environnement MAKE_INSTALL_OPTS utilisée par python-build comme décrit dans Special Environment Variables.
  • pyenv_profile_task: (doit être défini explicitement) - variable d'environnement PROFILE_TASK pour personnaliser la tâche utilisée pour l'optimisation guidée par profil comme décrit dans construction de Python pour des performances maximales. Voir aussi ici.
  • pyenv_custom_pyenvrc_file: (doit être défini explicitement) - chemin vers un fichier shell .pyenvrc personnalisé qui sera inclus depuis {{ pyenvrc_path }}/.pyenvrc. Cela vous permet de personnaliser librement l'environnement utilisé pendant l'exécution de pyenv. Si défini, ce fichier sera copié sous {{ pyenvrc_path }}/.pyenvrc.custom.
  • pyenv_install_extra_opts: ("" -pas d'options supplémentaires ajoutées-) - consultez la sortie de pyenv install --help pour les options supplémentaires disponibles.

Dépendances

Aucune.

Exemple de Playbook

- hosts: servers
  roles:
    - role: staticdev.pyenv
      vars:
        # issu de https://github.com/pyenv/pyenv/releases
        pyenv_version: "v2.3.35"
        # issu de https://github.com/pyenv/pyenv-virtualenv/releases
        pyenv_virtualenv_version: "v1.2.1"
        # issu de 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"

Licence

Distribué sous les termes de la licence MIT, Ansible rôle Pyenv est un logiciel libre et open source.

Informations sur l'auteur

staticdev. Basé largement sur le avanov.pyenv de Maxim Avanov.

À propos du projet

Ansible Galaxy role for pyenv.

Installer
ansible-galaxy install staticdev.pyenv
Licence
mit
Téléchargements
170.7k
Propriétaire