mambaorg.micromamba

Ansibleロール: mambaorg.micromamba

micromambaをインストールし、オプションでルート/ベースのconda環境を作成します。

リンク

背景

CondaはPython中心の非常に強力な依存関係管理ツールですが、多くの依存関係を持つ環境では、その遅い依存関係解決ツールが数時間かかる場合があります。

新しいMambaプロジェクトは、C++で依存関係解決ツールを再実装しており、非常に高速です。mambaは依存関係解決以外のほとんどの作業を、信頼できるcondaツールに委任します。

Micromambaは、conda環境用の非常に実験的な純C++パッケージマネージャーです。Python依存がないため、単一のmicromambaバイナリで任意のPythonバージョンの環境を効率的に作成できます。もしcondaパッケージにPython依存がなければ、MicromambaはPythonなしのconda環境を作成します!

Micromambaは、AnacondaやMinicondaのような「ディストリビューション」の必要を排除します。希望の環境を直接設定できます。

ロールの変数

arch: linux-64
version: latest

最新のアーキテクチャとバージョン番号は、形式が{arch}/micromamba-{version}.tar.bz2distributions[#].basenameを確認してください。archの現在の可能な値はlinux-64linux-aarch64osx-64osx-arm64win-64です。versionの形式はlatestか、0.15.2-0のようなものです。-0はビルド番号を示します。


dest: /usr/local/bin/micromamba

micromamba実行ファイルの場所。


root_prefix: /opt/conda

ルートプレフィックスが定義されていて、まだ存在しない場合は、この場所に新しいルートプレフィックスが作成されます。


packages:
  - mamba
  - python=3.9

新しいルートプレフィックスが作成されるときにインストールされる初期のcondaパッケージのリスト。


file: /tmp/environment.yaml

packagesのリストの代わりに、環境ファイルやロックファイルを提供できます。


root_prefix_condarc:
  channels:
    - conda-forge

新しいルートプレフィックスに.condarcに書き込む内容。定義されていない場合は、.condarcファイルは作成されません。

例PLAYBOOK

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

これにより、micromamba実行ファイルがデフォルトの場所/usr/local/bin/micromambaにダウンロードされます。


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

これにより、micromamba/tmp/micromambaにダウンロードされ、Python 3.9とMambaで/opt/conda/に新しいルートプレフィックスが作成されます。


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

これにより、/home/conda-user/micromambaに新しいルートプレフィックスが作成され、Pythonなしのconda環境が作成されます。また、conda-forgeチャンネルからデフォルトでインストールされるパッケージを設定するための.condarcファイルもルートプレフィックスに配置されます。

続く使用方法

conda環境のコマンドを実行するには、まずその環境をアクティブ化する必要があります。アクティブ化は、アクティブなシェル(通常はBash)内のPATHや他の環境変数を変更することを含みます。いくつかの方法でこれを実現できます。

直接

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

最初のコマンドは、micromambaという名称のBash関数を定義する一連のコマンドを実行します。(そうでない場合、micromamba実行ファイルは、シェルの環境を変更できないサブプロセスとして実行されます。)2つ目のコマンドは、/opt/condaにある環境をアクティブにするために新しく定義したBash関数を実行します。

初期化スクリプトを使用

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

これにより、~/.bashrcが変更され、以降のインタラクティブなBashセッションでは、micromamba activateコマンドのみで環境をアクティブ化できるようになります。(希望する場合は、~/.bashrcmicromamba activateコマンドを追加できます。)

mambaまたはcondaを使用

micromambaは実験的なため、上の方法に頼るのではなく、環境にmambaをインストールし、以下を実行することをお勧めします。

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

これらのコマンドは、~/.bashrcを変更し、次回のインタラクティブBashセッションで環境が完全にアクティブ化されるようにします。

トラブルシューティング

Bashがインタラクティブに実行されていない場合、.bashrcがソースされないため、micromamba activateを実行しても失敗します。この場合は、直接アクティベーション手順を使用するか、bashコマンドに-iオプションを付けてインタラクティブシェルを強制することができます。

ライセンス

MIT

作者情報

現在@maresb(ベン・マレス)と@atrawog(アンドレアス・トラヴォーガー)がメンテナンスしています。初版は@maresbによるものです。貢献は大歓迎です!

プロジェクトについて

Install micromamba, and optionally create a base conda environment.

インストール
ansible-galaxy install mambaorg.micromamba
ライセンス
mit
ダウンロード
594
所有者