staticdev.pyenv

Ansible角色: Pyenv

测试

这是适用于Debian / Ubuntu / RedHat / OSX的pyenv的Ansible Galaxy角色。

使用以下命令安装:

$ ansible-galaxy install staticdev.pyenv

需求

没有特定需求。

角色变量

以下是所有变量及其默认值的列表:

  • pyenv_version: "HEAD" - 查看 https://github.com/pyenv/pyenv/releases
  • pyenv_virtualenv_version: "HEAD" - 查看 https://github.com/pyenv/pyenv-virtualenv/releases
  • pyenv_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(从git获取最新的pyenv)
  • 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_configure_opts: (必须显式定义) - 环境变量 CONFIGURE_OPTS 用于python-build,详见特殊环境变量
  • pyenv_cc: (必须显式定义) - 环境变量 CC 用于python-build,详见特殊环境变量
  • pyenv_make: (必须显式定义) - 环境变量 MAKE 用于python-build,详见特殊环境变量
  • pyenv_make_opts: (必须显式定义) - 环境变量 MAKE_OPTS 用于python-build,详见特殊环境变量
  • pyenv_make_install_opts: (必须显式定义) - 环境变量 MAKE_INSTALL_OPTS 用于python-build,详见特殊环境变量
  • pyenv_profile_task: (必须显式定义) - 环境变量 PROFILE_TASK 用于自定义用于配置优化的任务,详见为最大性能构建Python。也可以查看这里
  • pyenv_custom_pyenvrc_file: (必须显式定义) - 自定义的 .pyenvrc shell 文件路径,将从 {{ pyenvrc_path }}/.pyenvrc 进行加载。它允许您在 pyenv 执行过程中自由自定义环境。如果定义,该文件将被复制为 {{ pyenvrc_path }}/.pyenvrc.custom
  • pyenv_install_extra_opts: ("" -没有额外选项添加-) - 可以查看 pyenv install --help 输出以获取可用的附加选项。

依赖

没有特定依赖。

示例剧本

- 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。重度基于Maxim Avanov的avanov.pyenv

关于项目

Ansible Galaxy role for pyenv.

安装
ansible-galaxy install staticdev.pyenv
许可证
mit
下载
170.7k
拥有者