60 lines
2.0 KiB
YAML
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
|
|
|