TOOCS.python

Estado de Build Rol de Ansible

TOOCS / Rol de Ansible: TOOCS.python

/!\ Este rol ha sido renombrado - Nombre antiguo: FlorianKempenich.python-virtualenv /!\

  • Instala múltiples versiones de python python usando asdf (o pyenv)
  • Instala pipenv para todas las versiones
  • Opcional: Instala paquetes de pip globales para la versión predeterminada de python

¿Qué es TOOCS?

TOOCS - Las Configuraciones Unificadas de Un Solo Clic son un conjunto de herramientas / roles de ansible diseñados para configurar un sistema con un solo clic. Son una forma simple y confiable de configurar una herramienta específica. Puedes usarlo tal como está o, al inspeccionar su código, como un tutorial para seguir paso a paso.

Como su nombre indica, son un poco subjetivos: mientras garantizan configurar la herramienta dada en un solo clic, NO garantizan consistencia en cómo lo logran, las nuevas versiones pueden introducir cambios drásticos.
Lee el código y asegúrate de entender lo que está sucediendo.

Requisitos

Este rol solo funciona en MacOSX y Ubuntu/Debian.

Variables del Rol

  • python_versions

  • global_pip_packages

    • Lista de paquetes de pip para instalar
    • Los paquetes solo se instalarán para la versión predeterminada de python (la primera en la lista)
    • Predeterminado: []
  • installation_method

  • asdf_skip_shell_setup

Métodos de Instalación

asdf

Método de instalación preferido y predeterminado usando el administrador de versiones asdf

La instalación y configuración de asdf, así como la instalación de python, se delega a otro TOOCS: TOOCS.asdf.

Este TOOCS solo se encarga de instalar los módulos opcionales de pip globales.

Post instalación - con asdf: Configuración del shell

  • Si usas zsh, ¡estás listo! Tu shell ha sido configurado automáticamente durante la instalación de asdf.

  • Si NO usas zsh se requiere una configuración manual, ver: TOOCS/asdf - Usuarios no zsh

  • Alternativamente, si asdf ya está configurado en tu máquina, puedes omitir la configuración del shell de asdf => Establecer la variable asdf_skip_shell_setup a True


pyenv

Método alternativo usando el administrador de versiones pyenv

Post instalación - con pyenv: Configuración del shell

Dado que pyenv se utiliza para gestionar las diferentes versiones de python, necesita ser activado en tu shell.

Simplemente agrega estas líneas a los archivos correspondientes:

  • ~/.zshrc / ~/.bashrc

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
  • ~/.zlogin / ~/.bash_profile

if command -v pyenv 1>/dev/null 2>&1; then
    eval "$(pyenv init -)"
fi

La razón por la que estamos dividiendo la inicialización entre estos dos archivos es para asegurar un funcionamiento fluido tanto con pyenv como con pipenv. De esa manera, la activación de pyenv solo se realiza una vez por shell de inicio de sesión y no interfiere con el sub-shell iniciado con pipenv shell.
Aprende más sobre esto: Problema de Pyenv #184 - Python incorrecto dentro de 'pipenv shell'


Ejemplo de Playbook

- hosts: localhost
  tasks:
    - include_role:
        name: TOOCS.python
      vars:
        python_versions:
          - 3.7.0
          - 2.7.15
        global_pip_packages:
          - cheat
          - howdoi
          - ansible-droplet


# O

- hosts: localhost
  tasks:
    - include_role:
        name: TOOCS.python
      vars:
        python_versions:
          - 3.7.0
        installation_method: asdf
        asdf_skip_shell_setup: True

# O

- hosts: localhost
  tasks:
    - include_role:
        name: TOOCS.python
      vars:
        python_versions:
          - 3.7.0
        installation_method: pyenv

Licencia

MIT

Información del Autor

Sígueme en Twitter: @ThisIsFlorianK
Descubre más sobre mi trabajo: Florian Kempenich - Sitio Personal

Acerca del proyecto

Install multiple versions of Python with some optional global packages

Instalar
ansible-galaxy install TOOCS.python
Licencia
mit
Descargas
117
Propietario
The Opinionated One-Click Setups - TOOCS - Logo made with DesignEvo (www.designevo.com)