🐣

【WSL/Linux用】conda環境の構築手順を調べました

に公開

はじめに

機械学習をやってみようという方へ
紛らわしい環境構築のことは考えたくないですよね。この記事の通りにサクッと機械学習レディな状態を作ってしまいましょう!

なぜ必要?

私は普段のPython環境構築はuvにお世話になっていますが、機械学習においてpip/uvだけで環境をそろえるのはナンセンスなようです。
Cuda等のOSやHW関連のライブラリを含めた環境構築が必要になるので、今はそうでなくとも今後はcondaが実質必須になりそう。
ただcondaといってもいろんな種類があり、経験のない自分はどうすればいいのか途方に暮れていました。

conda参考情報

以下記事の方がまとめてくださっていて参考になりました。
ありがとうございます。
(昔何の知識もない頃にブログを見ながらAnacondaを導入したのですが、"shellをジャックされる感覚"で何が正解かわからなくなった気がします。)
https://zenn.dev/junkor/articles/eb42a0aeb231e3

以下のリポジトリによるとMambaforgeは非推奨だそう。
ここに沿って進めることでコミュニティ版のcondaなりMambaなりを選べる。
アンインストール手順もこちらをご覧ください。
https://github.com/conda-forge/miniforge#install

当初は上記とAIへの質問によりMambaforgeも検討しました。
しかしリポジトリを確認した結果、Miniforge3が最新かつ推奨されていることを知り、こちらを採用することにしました。
コミュニティ版であるMiniforge3なら機能豊富で商用利用が可能!
(BSD-3ライセンス[1][2])

ライセンスの要点
  1. ソースコードの再配布においては、上記の著作権表示、この条件一覧、および以下の免責事項をそのまま残さなければなりません。
  2. バイナリ形式での再配布においては、上記の著作権表示、この条件一覧、および以下の免責事項を、配布物に付属するドキュメントおよび/またはその他の資料に記載しなければなりません。
  3. 著作権者の名前またはその貢献者の名前は、事前の書面による明確な許可なく、本ソフトウェアから派生した製品の推奨または宣伝に使用してはなりません。
ほんとconda関連のツールはいろいろありすぎ、、!
  • Anaconda

    • Anaconda社公式ディストリビューション
    • GUIツール(Navigatorなど)付き
    • 商用利用は有償(個人利用は無料)
  • Miniconda

    • Anacondaの軽量CLI版(余計なパッケージを含まない)
    • 商用利用は有償(Anaconda社の利用規約に準ずる)
  • conda-forge

    • コミュニティ運営のパッケージ配布チャンネル
    • Anaconda公式リポジトリより更新が早く、OSSフレンドリー
  • Miniforge

    • conda + conda-forgeチャンネルを組み合わせた軽量ディストリビューション
    • Anaconda社非依存(商用でも無料)
    • conda-forgeコミュニティによる公式提供
  • Mamba

    • condaの高速実装版(C++製)
    • condaコマンドと互換性があり、依存解決が非常に速い
  • miniMamba

    • Mambaを最小構成で提供する超軽量ディストリビューション
    • パッケージ管理にmambaのみを使用(conda非同梱)
  • Mambaforge

    • コミュニティ運営のディストリビューション
    • conda + mamba(高速版) + conda-forgeチャンネル構成
    • 商用利用無料・OSS向けに最適
チャネル(channel)とは

チャネル(channel)とは、condaパッケージの配布元(リポジトリ)のこと。
以下のような特徴があるそう(GPT-5談)。

チャネル名 提供元 特徴
defaults Anaconda社 安定性重視。企業サポートあり(商用制限あり)
conda-forge OSSコミュニティ 最新・幅広い。商用利用OK
pytorch PyTorch公式 GPU版PyTorchを提供
nvidia NVIDIA公式 CUDA / cuDNN / RAPIDS などを提供
bioconda コミュニティ バイオ系パッケージ
anaconda-fusion 有料企業向け セキュリティ検証済み

構築手順

前置きが終わりましたので手順を記載していきます。

環境

  • windows11
  • WSL(Ubuntu)

Miniforge3インストール

curl -L -O "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh"
$ bash Miniforge3-$(uname)-$(uname -m).sh

Welcome to Miniforge3 25.9.1-0

In order to continue the installation process, please review the license
agreement.
Please, press ENTER to continue
>>>  ※Enterを押下

(略)
Do you accept the license terms? [yes|no]
>>> yes

(略)
Miniforge3 will now be installed into this location:
/home/ubuntu/miniforge3

  - Press ENTER to confirm the location
  - Press CTRL-C to abort the installation
  - Or specify a different location below

[/home/ubuntu/miniforge3] >>>  ※Enterを押下

以下はデフォルトNOで進めます。

Transaction finished
installation finished.

(略)
You can undo this by running `conda init --reverse $SHELL`? [yes|no]
[no] >>>  ※Enterを押下

(略)
Thank you for installing Miniforge3!

PATHの調整

ここまでが完了した時点ではまだPATHが通っていません。

$ conda --version
conda: command not found
$ mamba --version
mamba: command not found
$ source ~/miniforge3/etc/profile.d/conda.sh

$ conda --version
conda 25.9.1

$ mamba --version
2.3.3

上記のコマンドを実行しただけであれば、ターミナルを開きなおせばPATHが消えてくれる状態です(command not foundに戻る。)
"exec $SHELL"でも消えてくれませんでした。

PATHを通す。
ここは公式手順とは違います。
「conda参考」の記事にあった"shellをジャックされる感覚"の軽減策を実施します。

$ code ~/.bashrc
 or
$ nano ~/.bashrc

conda/mamba用の3行を最後に追記

# conda/mamba
export MAMBA_ROOT_PREFIX="$HOME/miniforge3"
source "$HOME/miniforge3/etc/profile.d/conda.sh"
source "$HOME/miniforge3/etc/profile.d/mamba.sh"

動作確認

ターミナルを開きなおしてもバージョンが表示されればOKです。

$ source ~/.bashrc
$ conda --version
conda 25.9.1

$ mamba --version
2.3.3
deactivateについて

以下、AIが言ってましたがまだ直面していません。
自分の今後のためにメモさせてください。

注意点:
conda deactivate が不十分なケース

シェル起動中に conda activate base → conda deactivate すると
PATHの戻し方が微妙にずれる場合があります。
これは conda.sh が環境変数 _CONDA_EXE を利用してPATHを再構成する仕様のため。

対策:
以下でコマンドキャッシュをリセットしておけば安全です。
conda deactivate && hash -r

おわりに

これで開発環境(を作る準備)が整いました😎
必要なパッケージを入れ、オレオレ機械学習ツールを作りましょうー!

✍️ この記事が参考になったら「いいね」「ブックマーク」「フォロー」をお願いします。
Xで絡んでいただくのも大歓迎です!
https://x.com/aToy0m0

脚注
  1. https://github.com/conda-forge/miniforge/blob/main/LICENSE ↩︎

  2. https://qiita.com/0xfffffff7/items/efbb65521d7708f2db7d ↩︎

Discussion