Dot_Files/tasks/install-pyenv.yml

94 lines
2.0 KiB
YAML

---
- name: Install Pyenv build dependencies for Debian based systems
become: true
ansible.builtin.apt:
name:
- make
- build-essential
- libssl-dev
- zlib1g-dev
- libbz2-dev
- libreadline-dev
- libsqlite3-dev
- wget
- curl
- llvm
- libncursesw5-dev
- xz-utils
- tk-dev
- libxml2-dev
- libxmlsec1-dev
- libffi-dev
- liblzma-dev
state: present
when: ansible_facts.os_family == 'Debian'
- name: Install Pyenv build dependencies for Arch systems
community.general.pacman:
update_cache: true
name:
- base-devel
- openssl
- zlib
- xz
- tk
state: present
when: ansible_facts.distribution == 'Archlinux'
- name: Install Pyenv build depdencies for CentOS
become: true
ansible.builtin.dnf:
update_cache: true
name:
- gcc
- zlib-devel
- bzip2
- bzip2-devel
- readline-devel
- sqlite
- sqlite-devel
- openssl-devel
- tk-devel
- libffi-devel
- xz-devel
state: present
when: ansible_facts.distribution == 'CentOS'
- name: Install Pyenv build depdencies for MacOS
community.general.homebrew:
name:
- openssl
- readline
- sqlite3
- xz
- zlib
- tcl-tk
state: present
when: ansible_facts.distribution == 'MacOSX'
- name: Set Pyenv install path if not set
ansible.builtin.set_fact:
pyenv_install_path: "{{ xdg_data_home + '/pyenv' }}"
when: pyenv_install_path is not defined
- name: Check if Pyenv installed
ansible.builtin.stat:
path: "{{ pyenv_install_path }}"
register: pyenv_installed
changed_when: false
- name: Get Pyenv from git
when: not pyenv_installed.stat.exists
ansible.builtin.git:
repo: https://github.com/pyenv/pyenv.git
dest: "{{ pyenv_install_path }}"
version: master
- name: Install Pyenv
when: not pyenv_installed.stat.exists
ansible.builtin.shell: >
cd "{{ pyenv_install_path }}" &&
src/configure &&
make -C src
changed_when: true