mambaorg.micromamba

Rôle Ansible : mambaorg.micromamba

Installe micromamba et crée éventuellement un environnement conda racine/de base.

Liens

Motivation

Conda est un outil puissant de gestion des dépendances centré sur Python. Malheureusement, pour les environnements avec un grand nombre de dépendances, son solveur peut prendre des heures pour s'exécuter.

Le nouveau projet Mamba résout ce problème en réécrivant le solveur en C++, le rendant très rapide. En plus du solveur, mamba délègue la plupart des tâches à l'outil conda, généralement fiable.

Micromamba est un gestionnaire de paquets très expérimental, purement en C++, pour des environnements conda. Comme il n'a pas de dépendances Python, il peut créer efficacement des environnements pour n'importe quelle version de Python à partir d'un seul binaire micromamba. Si aucun de vos paquets conda n'a de dépendance Python, Micromamba créera même un environnement conda sans Python !

Micromamba élimine le besoin de "distributions" comme Anaconda ou Miniconda. Vous pouvez configurer votre environnement désiré directement.

Variables de Rôle

arch: linux-64
version: latest

Pour les dernières architectures et numéros de version, vérifiez distributions[#].basename, avec le format {arch}/micromamba-{version}.tar.bz2. Les valeurs possibles actuelles pour arch sont linux-64, linux-aarch64, osx-64, osx-arm64, win-64. Le format de version est soit latest, soit quelque chose comme 0.15.2-0, où -0 représente le numéro de construction.


dest: /usr/local/bin/micromamba

Emplacement de l'exécutable micromamba.


root_prefix: /opt/conda

Lorsque le préfixe racine est défini et n'existe pas encore, un nouveau préfixe racine sera créé à cet emplacement.


packages:
  - mamba
  - python=3.9

Une liste de paquets conda initiaux à installer lors de la création d'un nouveau préfixe racine.


file: /tmp/environment.yaml

Comme alternative à la liste de packages, un fichier d'environnement ou un fichier de verrouillage peut être fourni.


root_prefix_condarc:
  channels:
    - conda-forge

Contenu à écrire dans .condarc dans le nouveau préfixe racine. S'il n'est pas défini, aucun fichier .condarc n'est créé.

Exemples de Playbooks

- hosts: servers
  become: yes
  roles:
      - mambaorg.micromamba

Cela télécharge l'exécutable micromamba à l'emplacement par défaut de /usr/local/bin/micromamba.


- hosts: servers
  become: yes
  roles:
      - mambaorg.micromamba
  vars:
    dest: /tmp/micromamba
    root_prefix: /opt/conda
    packages:
      - mamba
      - python=3.9

Cela télécharge micromamba dans /tmp/micromamba et crée un nouveau préfixe racine dans /opt/conda/ avec Python 3.9 et Mamba.


- hosts: servers
  become: yes
  become_user: condauser
  roles:
      - mambaorg.micromamba
  vars:
    root_prefix: ~/micromamba
    root_prefix_condarc:
      channels:
        - conda-forge
    packages:
      - s3fs-fuse

Cela crée un nouveau préfixe racine dans /home/conda-user/micromamba et crée un environnement conda sans Python. Il place également un fichier .condarc dans le préfixe racine pour configurer les paquets à installer par défaut depuis le canal conda-forge.

Utilisation ultérieure

Pour exécuter des commandes d'un environnement conda, il faut d'abord l'activer. L'activation modifie le PATH et d'autres variables d'environnement dans le shell actif (généralement Bash). Cela peut être réalisé de différentes manières.

Directement

eval "$(micromamba shell hook --shell=bash)"
micromamba activate --prefix=/opt/conda

La première commande exécute une série de commandes qui définissent une fonction Bash, nommée également micromamba. (Sinon, l'exécutable micromamba s'exécuterait en tant que sous-processus, incapable de modifier l'environnement du shell.) La seconde commande exécute la fonction Bash nouvellement définie pour activer l'environnement situé à /opt/conda.

Avec un script d'initialisation

micromamba shell init --shell=bash --prefix=/opt/conda

Ceci modifie ~/.bashrc de sorte que dans les futures sessions interactives Bash, la commande micromamba activate suffit pour activer l'environnement. (La commande micromamba activate peut également être ajoutée à ~/.bashrc si désiré.)

Avec mamba ou conda

Puisque micromamba est expérimental, au lieu de se fier aux méthodes ci-dessus qui utilisent micromamba pour l'activation, il est conseillé d'installer mamba dans l'environnement et d'exécuter

/opt/conda/bin/conda init bash
/opt/conda/bin/mamba init bash

Ces commandes modifient ~/.bashrc pour que l'environnement soit complètement activé dans les sessions interactives Bash suivantes.

Dépannage

Si Bash n'est pas exécuté de manière interactive, alors le .bashrc ne sera pas chargé, donc l'exécution de micromamba activate échouera. Dans ce cas, vous pouvez soit utiliser la procédure d'activation directe, soit forcer un shell interactif en passant l'option -i à la commande bash.

Licence

MIT

Informations sur l'auteur

Actuellement maintenu par Ben Mares (@maresb) et Andreas Trawoeger (@atrawog). Version initiale par @maresb. Les contributions sont les bienvenues !

À propos du projet

Install micromamba, and optionally create a base conda environment.

Installer
ansible-galaxy install mambaorg.micromamba
Licence
mit
Téléchargements
594
Propriétaire