mambaorg.micromamba

Ansibleロール: mambaorg.micromamba

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

リンク

モチベーション

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

新しいMambaプロジェクトは、C++で依存関係解決器を再実装することでこの問題に対処し、非常に高速です。mambaは、依存関係解決器を除くほとんどのタスクを、信頼できるcondaツールに委任します。

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

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

ロール変数

arch: linux-64
version: latest

最新のアーキテクチャやバージョンについては、distributions[#].basenameを確認してください。形式は{arch}/micromamba-{version}.tar.bz2です。現在の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ファイルは作成されません。

例プレイブック

- 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コマンドを実行するだけで環境がアクティベートされるようになります。(必要であれば、micromamba activateコマンドを~/.bashrcに追加できます。)

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

著者情報

現在、Ben Mares(@maresb)とAndreas Trawoeger(@atrawog)がメンテナンスを担当しています。初版は@maresbによって作成されました。寄稿は大歓迎です!

プロジェクトについて

Install micromamba, and optionally create a base conda environment.

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