Files
ansible_localhost/roles/avanov.pyenv/tasks/install.yml
Phil Skentelbery 1585114795 added pyenv role
2019-09-26 17:58:30 -05:00

60 lines
2.0 KiB
YAML

---
- name: Install PyEnv
git:
repo: https://github.com/pyenv/pyenv.git
dest: "{{ pyenv_path }}"
update: "{{ pyenv_update_git_install }}"
- name: Install PyEnv-virtualenv plugin
git:
repo: https://github.com/yyuu/pyenv-virtualenv.git
dest: "{{ pyenv_path }}/plugins/pyenv-virtualenv"
update: "{{ pyenv_update_git_install }}"
- name: Install PyEnv-update plugin
git:
repo: https://github.com/pyenv/pyenv-update.git
dest: "{{ pyenv_path }}/plugins/pyenv-update"
update: "{{ pyenv_update_git_install }}"
when: pyenv_update
- name: Install .pyenvrc
template:
src: ".pyenvrc.j2"
dest: "{{ pyenv_path }}/.pyenvrc"
owner: "{{ pyenv_owner }}"
mode: "0644"
- name: "Load pyenv env variables in {{ pyenv_setting_path }}"
lineinfile: dest="{{ pyenv_setting_path }}"
regexp="\.pyenvrc$"
line="source {{ pyenv_path }}/.pyenvrc"
state=present
create=yes
- name: "Add pyenv autocomplete in {{ pyenv_setting_path }}"
lineinfile: dest="{{ pyenv_setting_path }}"
regexp="pyenv\.bash$"
line="source {{ pyenv_path }}/completions/pyenv.bash"
state=present
when: pyenv_enable_autocompletion
- name: Update Pyenv interpreter list
shell: . {{ pyenv_path }}/.pyenvrc && pyenv update
when: pyenv_update
- name: Install Python interpreters "{{ pyenv_python_versions }}"
shell: . {{ pyenv_path }}/.pyenvrc && env PYTHON_CONFIGURE_OPTS="{{ pyenv_python_configure_opts }}" pyenv install {{ item }}
creates="{{ pyenv_path }}/versions/{{ item }}/bin/python"
with_items: "{{ pyenv_python_versions }}"
- name: Create virtual environments
shell: . {{ pyenv_path }}/.pyenvrc && pyenv virtualenv {{ item.py_version }} {{ item.venv_name }}
creates="{{ pyenv_path }}/versions/{{ item.venv_name }}/bin/python"
with_items: "{{ pyenv_virtualenvs }}"
- name: Set pyenv global
shell: . {{ pyenv_path }}/.pyenvrc && pyenv global {{ pyenv_global }} && pyenv rehash
when: pyenv_global is defined