TOOCS.python

Status budowy Rola Ansible

TOOCS / Rola Ansible: TOOCS.python

/!\ Ta rola została zmieniona - Stara nazwa: FlorianKempenich.python-virtualenv /!\

  • Instalacja wielu wersji Pythona python przy użyciu asdf (lub pyenv)
  • Instalacja pipenv dla wszystkich wersji
  • Opcjonalnie: Instalacja globalnych pakietów pip dla domyślnej wersji Pythona

TOOCS?

TOOCS - Jedno kliknięcie, które ustawia to, co potrzebne, to zestaw narzędzi / ról ansible zaprojektowanych do skonfigurowania systemu za pomocą jednego kliknięcia. Są prostym, niezawodnym sposobem na skonfigurowanie danego narzędzia. Możesz je używać w takiej formie, w jakiej są, lub przeglądając ich kod, jako tutorial do śledzenia krok po kroku.

Jak sama nazwa wskazuje, są to zestawy wytycznych: chociaż gwarantują konfigurację danego narzędzia za pomocą jednego kliknięcia, nie gwarantują spójności w tym, jak to osiągają, nowe wydania mogą wprowadzać zmiany, które łamią zgodność.
Przeczytaj kod i upewnij się, że rozumiesz, co się dzieje!

Wymagania

Ta rola działa tylko na MacOSX i Ubuntu/Debian.

Zmienne roli

  • python_versions

  • global_pip_packages

    • Lista pakietów pip do zainstalowania
    • Pakiety będą instalowane tylko dla domyślnej wersji Pythona (pierwszej na liście)
    • Domyślna: []
  • installation_method

  • asdf_skip_shell_setup

    • Pomiń konfigurację powłoki podczas instalacji asdf
    • Zobacz Metody instalacji
    • Domyślna: False

Metody instalacji

asdf

Preferowana i domyślna metoda instalacji przy użyciu menedżera wersji asdf

Instalacja i konfiguracja asdf, a także instalacja Pythona są przekazywane do innego TOOCS: TOOCS.asdf.

Ten TOOCS zajmuje się tylko instalacją opcjonalnych globalnych modułów pip.

Po instalacji - z asdf: Konfiguracja powłoki

  • Jeśli używasz zsh, jesteś gotowy! Twoja powłoka została automatycznie skonfigurowana podczas instalacji asdf.

  • Jeśli NIE używasz zsh, wymagana jest konfiguracja ręczna, zobacz: TOOCS/asdf - Użytkownicy nie zsh

  • Alternatywnie, jeśli asdf jest już skonfigurowany na Twoim komputerze, możesz pominąć automatyczną konfigurację powłoki asdf => Ustaw zmienną asdf_skip_shell_setup na True.


pyenv

Alternatywna wersja korzystająca z menedżera wersji pyenv

Po instalacji - z pyenv: Konfiguracja powłoki

Ponieważ pyenv jest używany do zarządzania różnymi wersjami python, musi być aktywowany w Twojej powłoce.

Po prostu dodaj te linie do odpowiednich plików:

  • ~/.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

Powód, dla którego dzielimy inicjalizację między te dwa pliki, to zapewnienie płynnego działania z zarówno pyenv, jak i pipenv. W ten sposób aktywacja pyenv odbywa się tylko raz na powłoce logowania i nie koliduje z podpowłoką uruchomioną z pipenv shell.
Dowiedz się więcej o tym: Pyenv Issue #184 - Zły Python wewnątrz 'pipenv shell'


Przykładowy plik 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


# LUB

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

# LUB

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

Licencja

MIT

Informacje o autorze

Śledź mnie na Twitterze: @ThisIsFlorianK
Dowiedz się więcej o mojej pracy: Florian Kempenich - Strona osobista

O projekcie

Install multiple versions of Python with some optional global packages

Zainstaluj
ansible-galaxy install TOOCS.python
Licencja
mit
Pobrania
117
Właściciel
The Opinionated One-Click Setups - TOOCS - Logo made with DesignEvo (www.designevo.com)