仮想環境の設定

Mambaforgeをインストールして、仮想環境を作ってactivateしたらbaseのパスがみえなくなっていた。(Condaの場合もそうだったっけ?)

 

そこで、以下のようにした。

mkdir -p /home/[ユーザ名]/mambaforge/envs/[仮想環境名]/etc/conda/activate.d/add_base_path.sh

emacs -nw /home/[ユーザ名]/mambaforge/envs/[仮想環境名]/etc/conda/activate.d/add_base_path.sh

#!/usr/bin/sh

export PATH=/home/[ユーザ名]/mambaforge/bin:$PATH

 

パスが通った。

 

Condaパッケージの作成(meta.yamlの作成)

sourceでは、ソースの置き場所をいろいろな方法で指定できる。

Defining metadata (meta.yaml) — conda-build 3.23.0+3.g32ac010d.dirty documentation

 

GitHubでの置き場所を指定したい場合はgit_urlを使うことになるけど、認証方法が変わったのでそれに従う必要がある。

アクセストークンを発行して、それを使ってURLを作成すればOK。

 

source:
    git_url: https://[アクセストークン]@github.com/XXXX/YYYY.git

 

アクセストークンの作り方は以下等を参照。

GitHubのAccess token認証方法とは?Password認証の廃止 | ポテパンスタイル (potepan.com)

【Git】2021年8月13日からGitでリモートにアクセスができなくなった。Support for password authentication was removed on August 13, 2021. | iOS-Docs

Githubでアクセストークンを使う - GitHub - [SMART] (rfs.jp)

Fine-grained personal access tokens [Beta]を使ったけどうまくいった。

Condaパッケージの作成(build.shの作成)

基本的なことは、
Condaパッケージの作成方法 - Qiita
にしっかりと書かれている。

 

ちょっと気になったこと&忘れそうなことをメモしておく。

Condaパッケージの作成(mambaの利用)

Condaパッケージの作成に悪戦苦闘...

mambaを導入することでなんとかなったのでメモ。

 

【失敗】

  1. 依存するパッケージが複数あるような独自パッケージを作成しようとしたところ、conda buildが終わらなくなってしまった。
  2. Anacondaを全削除してインストールしなおしたところ、conda buildは最後まで動き、パッケージは作れた。
    • ただし、.condarcからchannel以外の記述を削除(channel_priority等の記述を削除)する必要があった。なぜだろう...
  3. しかしながら、出来上がったパッケージがうまくインストールできない...
    • Anacondaにアップロードして、conda install -c XXXX YYYYとしても、依存関係解決が永遠に終わらない。

      ※XXXXは独自のチャンネル、YYYYはパッケージ名

    • tarボールをインストールしても依存するパッケージは自動的にインストールはされない。(conda install YYYY.tar.bz2では、ダメ。)

 

【成功:mambaによるパッケージの作成】

  1. Anacondaの全削除、再インストール、アップデート(conda update --all)
  2. mambaのインストール

    $ conda install -c conda-forge mamba

  3. Condaパッケージの作成
    $ mamba build [meta.yaml, build.shが置かれているディレクトリ名]
  4. Condaパッケージのアップロード

    $ anaconda upload /home/[ユーザ名]/anaconda3/conda-build/linux-64/YYYY.tar.bz2

【成功:mambaによるパッケージのインストール】
※ここから別マシン

  1. Anacondaの全削除、再インストール、アップデート(conda update --all)
  2. mambaのインストール
  3. mambaによるパッケージのインストール
      1. まず、素朴にコマンドを打つと、依存関係を解決できないとエラーメッセージ。
        $ mamba install -c XXXX YYYY
        ~メッセージ省略~
        Encountered problems while solving:  - package libgrpc-1.49.1-h05bd8bd_1 requires openssl >=1.1.1q,<1.1.2a, but none of the providers can be installed
      2. エラーメッセージ中に、適合するライブラリのバージョンが表示されていたので、そのバージョンで仮想環境を構築。
        $ conda create -n [仮想環境名] openssl=1.1.1q
        $ conda activate [仮想環境名]
      3. mambaでパッケージのインストール

        $ mamba install -c XXXX YYYY

      4. 成功!