staticdev.pyenv

Ansible Rolle: Pyenv

Tests

Ansible Galaxy Rolle für pyenv auf Debian / Ubuntu / RedHat / macOS.

Installiere es mit dem folgenden Befehl:

$ ansible-galaxy install staticdev.pyenv

Anforderungen

Keine.

Rollenvariablen

Hier ist die Liste aller Variablen und ihrer Standardwerte:

  • pyenv_version: "HEAD" - siehe https://github.com/pyenv/pyenv/releases
  • pyenv_virtualenv_version: "HEAD" - siehe https://github.com/pyenv/pyenv-virtualenv/releases
  • pyenv_update_version: "HEAD" - normalerweise gibt es keine Releases, aber man kann einen Commit-Hash angeben
  • pyenv_env: "user" (sollte entweder "user" oder "system" sein)
  • 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 (aktuelle Version von pyenv aus Git holen)
  • 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: (muss explizit definiert werden) - Umgebungsvariable TMPDIR, die von python-build verwendet wird, wie in Spezielle Umgebungsvariablen beschrieben.
  • pyenv_python_build_build_path: (muss explizit definiert werden) - Umgebungsvariable PYTHON_BUILD_BUILD_PATH, die von python-build verwendet wird, wie in Spezielle Umgebungsvariablen beschrieben.
  • pyenv_python_build_cache_path: (muss explizit definiert werden) - Umgebungsvariable PYTHON_BUILD_CACHE_PATH, die von python-build verwendet wird, wie in Spezielle Umgebungsvariablen beschrieben.
  • pyenv_python_build_mirror_url: (muss explizit definiert werden) - Umgebungsvariable PYTHON_BUILD_MIRROR_URL, die von python-build verwendet wird, wie in Spezielle Umgebungsvariablen beschrieben.
  • pyenv_python_build_mirror_url_skip_checksum: (muss explizit definiert werden) - Umgebungsvariable PYTHON_BUILD_MIRROR_URL_SKIP_CHECKSUM, die von python-build verwendet wird, wie in Spezielle Umgebungsvariablen beschrieben.
  • pyenv_python_build_skip_mirror: (muss explizit definiert werden) - Umgebungsvariable PYTHON_BUILD_SKIP_MIRROR, die von python-build verwendet wird, wie in Spezielle Umgebungsvariablen beschrieben.
  • pyenv_python_build_skip_homebrew: (muss explizit definiert werden) - Umgebungsvariable PYTHON_BUILD_SKIP_HOMEBREW, die von python-build verwendet wird, wie in Spezielle Umgebungsvariablen beschrieben.
  • pyenv_python_build_root: (muss explizit definiert werden) - Umgebungsvariable PYTHON_BUILD_ROOT, die von python-build verwendet wird, wie in Spezielle Umgebungsvariablen beschrieben.
  • pyenv_python_build_definitions: (muss explizit definiert werden) - Umgebungsvariable PYTHON_BUILD_DEFINITIONS, die von python-build verwendet wird, wie in Spezielle Umgebungsvariablen beschrieben.
  • pyenv_python_configure_opts: (muss explizit definiert werden) - Umgebungsvariable PYTHON_CONFIGURE_OPTS, die von python-build verwendet wird, wie in Spezielle Umgebungsvariablen beschrieben.
  • pyenv_python_cflags: (muss explizit definiert werden) - Umgebungsvariable PYTHON_CFLAGS, die von python-build verwendet wird, wie in Spezielle Umgebungsvariablen beschrieben.
  • pyenv_python_make_opts: (muss explizit definiert werden) - Umgebungsvariable PYTHON_MAKE_OPTS, die von python-build verwendet wird, wie in Spezielle Umgebungsvariablen beschrieben.
  • pyenv_python_make_install_opts: (muss explizit definiert werden) - Umgebungsvariable PYTHON_MAKE_INSTALL_OPTS, die von python-build verwendet wird, wie in Spezielle Umgebungsvariablen beschrieben.
  • pyenv_configure_opts: (muss explizit definiert werden) - Umgebungsvariable CONFIGURE_OPTS, die von python-build verwendet wird, wie in Spezielle Umgebungsvariablen beschrieben.
  • pyenv_cc: (muss explizit definiert werden) - Umgebungsvariable CC, die von python-build verwendet wird, wie in Spezielle Umgebungsvariablen beschrieben.
  • pyenv_make: (muss explizit definiert werden) - Umgebungsvariable MAKE, die von python-build verwendet wird, wie in Spezielle Umgebungsvariablen beschrieben.
  • pyenv_make_opts: (muss explizit definiert werden) - Umgebungsvariable MAKE_OPTS, die von python-build verwendet wird, wie in Spezielle Umgebungsvariablen beschrieben.
  • pyenv_make_install_opts: (muss explizit definiert werden) - Umgebungsvariable MAKE_INSTALL_OPTS, die von python-build verwendet wird, wie in Spezielle Umgebungsvariablen beschrieben.
  • pyenv_profile_task: (muss explizit definiert werden) - Umgebungsvariable PROFILE_TASK, um die Aufgabe für die profilgesteuerte Optimierung anzupassen, wie in Python für maximale Leistung bauen beschrieben. Siehe auch hier.
  • pyenv_custom_pyenvrc_file: (muss explizit definiert werden) - Pfad zu einer benutzerdefinierten .pyenvrc-Shell-Datei, die von {{ pyenvrc_path }}/.pyenvrc geladen wird. Diese Datei ermöglicht es dir, die Umgebung während der Ausführung von pyenv nach Belieben anzupassen. Wenn definiert, wird diese Datei als {{ pyenvrc_path }}/.pyenvrc.custom kopiert.
  • pyenv_install_extra_opts: ("" -keine zusätzlichen Optionen hinzugefügt-) - siehe Ausgabe von pyenv install --help für verfügbare zusätzliche Optionen.

Abhängigkeiten

Keine.

Beispiel Playbook

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

Lizenz

Verbreitet unter den Bedingungen der MIT-Lizenz, Ansible Rolle Pyenv ist freie und Open-Source-Software.

Autoreninformationen

staticdev. Stark basierend auf Maxim Avanovs avanov.pyenv

Über das Projekt

Ansible Galaxy role for pyenv.

Installieren
ansible-galaxy install staticdev.pyenv
Lizenz
mit
Downloads
170.7k
Besitzer