|
|
|
# Current pip unconditionally uses md5.
|
|
|
|
# We can re-enable if pip switches to a different hash or allows us to not check md5.
|
|
|
|
|
|
|
|
- include_tasks:
|
|
|
|
file: break_system_packages.yml
|
|
|
|
|
|
|
|
- name: Python 2
|
|
|
|
when: ansible_python.version.major == 2
|
|
|
|
block:
|
|
|
|
- name: find virtualenv command
|
|
|
|
command: "which virtualenv virtualenv-{{ ansible_python.version.major }}.{{ ansible_python.version.minor }}"
|
|
|
|
register: command
|
|
|
|
ignore_errors: true
|
|
|
|
|
|
|
|
- name: is virtualenv available to python -m
|
|
|
|
command: '{{ ansible_python_interpreter }} -m virtualenv'
|
|
|
|
register: python_m
|
|
|
|
when: not command.stdout_lines
|
|
|
|
failed_when: python_m.rc != 2
|
|
|
|
|
|
|
|
- name: remember selected virtualenv command
|
|
|
|
set_fact:
|
|
|
|
virtualenv: "{{ command.stdout_lines[0] if command is successful else ansible_python_interpreter ~ ' -m virtualenv' }}"
|
|
|
|
|
|
|
|
- name: Python 3+
|
|
|
|
when: ansible_python.version.major > 2
|
|
|
|
block:
|
|
|
|
- name: remember selected virtualenv command
|
|
|
|
set_fact:
|
|
|
|
virtualenv: "{{ ansible_python_interpreter ~ ' -m venv' }}"
|
|
|
|
|
|
|
|
- block:
|
|
|
|
- name: install git, needed for repo installs
|
|
|
|
package:
|
|
|
|
name: git
|
|
|
|
state: present
|
|
|
|
when: ansible_distribution not in ["MacOSX", "Alpine"]
|
|
|
|
register: git_install
|
|
|
|
|
|
|
|
- name: ensure wheel is installed
|
|
|
|
pip:
|
|
|
|
name: wheel
|
|
|
|
extra_args: "-c {{ remote_constraints }}"
|
|
|
|
|
|
|
|
- include_tasks: pip.yml
|
|
|
|
|
|
|
|
- include_tasks: no_setuptools.yml
|
|
|
|
when: ansible_python.version_info[:2] >= [3, 8]
|
|
|
|
always:
|
|
|
|
- name: platform specific cleanup
|
|
|
|
include_tasks: "{{ cleanup_filename }}"
|
|
|
|
with_first_found:
|
|
|
|
- "{{ ansible_distribution | lower }}_cleanup.yml"
|
|
|
|
- "default_cleanup.yml"
|
|
|
|
loop_control:
|
|
|
|
loop_var: cleanup_filename
|
|
|
|
when: ansible_fips|bool != True
|
|
|
|
module_defaults:
|
|
|
|
pip:
|
|
|
|
virtualenv_command: "{{ virtualenv }}"
|