- name: Validate python_version value assert: that: - (python_version|string).split(".") | length == 2 - (python_version|string).split(".")[0] - (python_version|string).split(".")[1] when: python_version is defined - name: Install python using system packages when: - python_version is defined - not python_use_pyenv - not python_use_stow block: - name: Install specified version of python interpreter and development files (DEB) when: - ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu' package: name: python{{ python_version }}-dev state: present become: yes - name: Install specified version of python interpreter and development files (RPM) when: - ansible_distribution == 'CentOS' or ansible_distribution == 'RedHat' package: name: python{{ python_version | replace('.', '') }}-devel state: present become: yes - name: Install python using pyenv when: - python_version is defined - python_use_pyenv include_tasks: pyenv.yaml - name: Activate python using stow when: - python_version is defined - python_use_stow include_tasks: stow.yaml