- 技術 💻
Minicondaとは?使い方とAnacondaとの違い・200人規約とpip混在
結論
Minicondaは、conda(パッケージと環境の管理ツール)とPythonと、その依存だけを入れる「condaの最小構成」です。Anaconda Distributionのように数百のパッケージや画面のツールは入らず、必要なものを環境ごとに conda install で足して使います。
この記事でわかること
- MinicondaとAnaconda・Miniforgeの違いと、組織で使うときの利用規約(200人の基準)
- condaの作成・有効化・インストール・書き出し・削除のコマンドと、よくあるエラーの原文
- conda-forgeの索引の大きさ、numpyのconda版とwheel版の中身、pip・uvの実測による判断表
conda・Miniconda・Anaconda・Miniforgeの関係を先に図にします。中心にあるのは conda というツールで、ほかの3つは「condaに何を同梱して、どのチャンネル(パッケージの置き場所)を既定にするか」が違う配布物です。
flowchart TD
A[Anaconda] --> C[conda]
M[Miniconda] --> C
F[Miniforge] --> C
C --> D[defaults]
C --> G[conda-forge]
上の3つが配布物、conda がパッケージと環境を管理するツール、下の2つがチャンネルです。AnacondaとMinicondaは、既定で defaults(Anaconda 社の repo.anaconda.com)を使います。Miniforgeは conda-forge だけを既定にしています。よく調べられることの答えを先にまとめます。
| 知りたいこと | 答え | 詳しい節 |
|---|---|---|
| Minicondaとは | conda・Python・依存だけを base 環境に入れる最小のインストーラー | Minicondaとは |
| MinicondaとAnacondaの違い | 同梱するパッケージの数と画面のツール。公式の目安は約900MBと約9.7GB | MinicondaとAnacondaの違い |
| Minicondaのインストール | 公式のインストーラーを実行。Linux・Macは bash、Windowsは .exe |
インストール |
| condaの使い方(環境) | conda create -n 名前 python=3.13 → conda activate 名前 |
環境の作成・切り替え・削除 |
| condaの使い方(パッケージ) | conda install・conda list・conda remove |
パッケージを入れる・調べる |
| Minicondaは無料か | 個人・200人以下の営利組織などは無料。200人を超える営利組織は有償プラン(2026年10月29日時点) | Anacondaの利用規約 |
| condaとpipは混ぜてよいか | condaで入るものを先に入れ、足りない分だけ最後にpip。後からcondaに戻らない | condaとpipを混ぜたとき |
| conda: command not found | PATHに無い。conda init を実行したか、インストール先の bin を確かめる |
よくあるエラー |
確認環境:Ubuntu 24.04.5 LTS(x86_64)の上で確かめました。この環境では Miniconda のインストーラーと defaults チャンネルがある repo.anaconda.com への接続がネットワークの規則で拒否され、Miniconda の代わりのバイナリを実行することも権限で許可されなかったため、conda コマンドそのものは実行していません。conda の動き・オプション・エラーの文言は、conda 26.9.4 のソースコード(GitHub の conda/conda のタグ 26.9.4)と同梱のドキュメント、Anaconda 公式ドキュメント、conda-forge 公式ドキュメント、Miniforge の README、インストーラーを作る conda/constructor のソースコードで1つずつ確かめました。手元で実行したのは、conda-forge チャンネル(conda.anaconda.org)の索引 repodata.json.zst と numpy 2.5.4 の .conda パッケージの取得と中身の読み取り、PyPI の numpy wheel の中身の読み取り、Python 3.13.18 の venv+pip 26.2.1 と uv 0.11.32 での numpy・pandas のインストールの時間と容量の測定、bash 5.2 で conda が無いときのエラー表示です。インストーラーの大きさとハッシュは repo.anaconda.com/miniconda の一覧、利用規約は Anaconda の Terms of Service の本文で確かめています(確認日 2026年10月29日)。
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「Minicondaとは?使い方とAnacondaとの違い・200人規約とpip混在」
Minicondaとは(condaの最小構成)
この節では、Minicondaが何を入れるもので、conda とどう違うのかが分かります。
Minicondaは、Anaconda社が配布する「condaを使い始めるための最小のインストーラー」です。公式ドキュメントは「Miniconda installs only conda, Python, and their dependencies into a minimal base environment, with no extra packages」と説明しています。入るのは conda 本体、Python、それらが動くのに要るライブラリだけで、numpy や pandas、Jupyter は入りません。
言葉を整理すると次のとおりです。
- conda:パッケージと「環境」を管理するコマンド。Python のライブラリだけでなく、C/C++ のライブラリ、R、コンパイラ、CUDA の部品なども同じ仕組みで入れられます。
- 環境(environment):Python の版とパッケージの組み合わせを、フォルダごとに分けたもの。プロジェクトごとに別の環境を作れば、互いの版がぶつかりません。
- base 環境:インストールした直後からある環境。conda 本体が住んでいる場所なので、作業用には別の環境を作るのが基本です。
- チャンネル:パッケージの置き場所。Miniconda の既定は Anaconda 社の defaults、コミュニティが運営する conda-forge が代表的です。
venv と比べると、venv は「今ある Python の上に、パッケージ置き場を分ける」仕組み、conda は「Python そのものも含めて環境ごとに入れる」仕組みです。
1Pythonごと環境を分ける
conda create -n py312 python=3.12 のように、環境ごとに別の版の Python が入る。OS の Python には触れない。
2Python以外も入る
BLAS・OpenSSL・GDAL・R など、wheel では扱いにくいライブラリも conda のパッケージとして入る。
3最小から足していく
Miniconda は conda と Python だけ。使うパッケージは自分で選ぶので、ディスクも中身も把握しやすい。
MinicondaとAnacondaの違い(Miniforgeとの比較も)
この節では、Miniconda・Anaconda Distribution・Miniforge のどれを入れるかを決める違いが分かります。
3つとも中身の conda は同じで、違うのは「同梱物」と「既定のチャンネル」と「利用規約の関わり方」です。Anaconda 公式の比較表では、Anaconda Distribution は「600+」のパッケージと Anaconda Navigator(画面で操作するツール)を含み、Miniconda は「130+」で画面のツールを含みません。インストールに要る容量の目安は、Anaconda Distribution が約9.7GB、Miniconda が約900MBです(Miniconda のシステム要件のページは、ダウンロードとインストールに最低400MBの空きが要るとしています)。
| Miniconda | Anaconda Distribution | Miniforge | |
|---|---|---|---|
| 配布元 | Anaconda 社 | Anaconda 社 | conda-forge コミュニティ |
| 入るもの | conda・Python・依存 | 上に加え数百のパッケージ・Navigator | conda・mamba・Python・依存 |
| 既定のチャンネル | defaults(repo.anaconda.com) | defaults | conda-forge だけ |
| Linux x86_64 のインストーラー | 210.9M(26.9.4-0) | 1.1G(2026.07-1) | 128,128,881バイト(26.9.4-1) |
| Anaconda の利用規約 | defaults を使うと対象 | 対象 | defaults を足さなければ関わりが小さい |
Miniconda の大きさは、2026年10月29日時点の repo.anaconda.com/miniconda の一覧の表示(2026年10月23日更新、最新版は 26.9.4-0 で、latest は Python 3.14 版と同じハッシュ)です。macOS(Apple シリコン)版は 166.5M、Windows 版は 153.1M でした。Miniforge の大きさは GitHub のリリースのファイルの Content-Length を読んだ値です。Anaconda Distribution は repo.anaconda.com/archive の一覧の表示(2026.07-1、2026年7月29日)です。
Miniconda が向く
defaults チャンネルのパッケージを使いたい
Anaconda 社の配布物で統一したい(社内の決まりなど)
個人・小さな組織、または有償プランの契約がある
Miniforge が向く
conda-forge だけで足りる(多くの科学計算のパッケージがある)
200人を超える営利組織で、defaults を使う契約が無い
mamba も最初から使いたい
Minicondaのインストール(Linux・Mac・Windows)
この節では、Miniconda を入れる手順と、インストーラーのオプション、消し方が分かります。
Linux と Mac はシェルスクリプトのインストーラーを bash で実行し、Windows は .exe を実行します。公式の Linux の手順は次の流れです(この環境では repo.anaconda.com への接続が拒否されたため、手順は公式ドキュメントのとおりに示します)。
インストーラーを取得する
curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh。ARM の Linux は Linux-aarch64、Apple シリコンの Mac は MacOSX-arm64 のファイルです。
SHA-256 を確かめる
sha256sum Miniconda3-latest-Linux-x86_64.sh の値を、repo.anaconda.com/miniconda の一覧のハッシュと比べます。公式の手順では任意ですが、社内に配るなら必ず行います。
bash で実行する
bash Miniconda3-latest-Linux-x86_64.sh。使用許諾を Return で読み進めて yes、インストール先(既定は ~/miniconda3)、最後に conda の初期化(conda init)をするかを聞かれます。
シェルを読み直す
source ~/.bashrc(zsh なら ~/.zshrc)か、ターミナルを開き直します。プロンプトの先頭に (base) が付けば初期化されています。
動作を確かめる
conda --version と conda list。base 環境に入っているパッケージの一覧が出れば完了です。
# 公式の手順(Linux x86_64)
curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
sha256sum Miniconda3-latest-Linux-x86_64.sh
# 2026年10月29日時点の一覧の値:
# 4ecd6f5ced565b02ef2fd5992fca4244b5e695ef5bff2beffbf03c7da5686e35
bash Miniconda3-latest-Linux-x86_64.sh
source ~/.bashrc
conda --version
conda list
対話なしで入れる(-b -p)と、シェル設定を書き換えない入れ方
CI や Docker、共有のサーバーでは、対話なしで決まった場所に入れます。インストーラーのオプションは、Miniconda を作る conda/constructor のテンプレート(header.sh)で次のように定義されています。
| オプション | 意味(constructor の USAGE の訳) |
|---|---|
-b | バッチモード(対話なし)。使用許諾には同意済みとみなされる |
-p PREFIX | インストール先。空白を含めない |
-u | 既存のインストールを更新する |
-f | インストール先が既にあってもエラーにしない |
-s | pre/post-link などのスクリプトを実行しない |
-h | 使い方を表示して終わる |
-b だけでは ~/.bashrc は書き換わりません。シェルの設定に手を入れずに使うなら、必要なときだけ conda の「フック」を読み込みます。conda のドキュメントが、シェルスクリプトで conda を使うときの方法として示している形です。
# 対話なしで、指定した場所に入れる(シェル設定は書き換えない)
bash Miniconda3-latest-Linux-x86_64.sh -b -p "$HOME/miniconda3"
# 使うときだけ、今のシェルに conda を読み込む
eval "$("$HOME/miniconda3/bin/conda" shell.bash hook)"
conda activate base
# スクリプトから1回だけ環境の中で実行するなら activate しない方法もある
conda run -n myenv python script.py
インストール先に既にフォルダーがあると、インストーラーは ERROR: File or directory already exists: '...' を出して止まります(constructor の header.sh の文言)。上書きの -u・-f は、公式ドキュメントが「依存関係が解決されず環境が壊れることがある」と注意しているため、消してから入れ直すほうが確実です。
Windows と Mac
- Windows:.exe を実行し、「Just Me(推奨)」で入れます。公式のシステム要件は Windows 11 23H2 以降の64ビット(x86 か Arm64)です。スタートメニューの「Anaconda Prompt」から conda を使うのが基本で、PowerShell で使うなら
conda init powershellを実行します。 - Mac:システム要件は macOS 12.1 以降の Apple シリコンです。ターミナルで .sh を
bashで実行するか、.pkg のグラフィカルなインストーラーを使います。既定のシェルが zsh なので、初期化は~/.zshrcに書かれます。 - Linux:64ビットの x86 と aarch64。最新のインストーラーは glibc 2.28 以上が必要で、CentOS 7・Ubuntu 18.04・Debian 9・Amazon Linux 2 では動かないと公式に書かれています。
Minicondaのアンインストール
公式の手順では、先に環境を書き出しておき(conda env export --name 環境名 > 環境名.yaml)、インストール先にある uninstall.sh を実行します(Windows はコントロールパネルか Uninstall-Miniconda3.exe /S)。uninstall.sh が無い以前の版では、手で次の順に消します。
# 1. conda init がシェル設定に書いた部分を取り除く
conda init --reverse --all
# 2. インストール先を消す(パスをよく確かめる)
rm -rf ~/miniconda3
# 3. 要らなければ設定と記録も消す
rm -rf ~/.condarc ~/.conda ~/.continuum
conda initとactivateの仕組み
conda init が何をしていて、conda activate が効かないときに何を見ればよいかを説明します。
conda activate はシェルの関数なので、シェルに conda を読み込ませる初期化が先に要ります。conda init は ~/.bashrc などに「# >>> conda initialize >>>」で始まるブロックを書き足し、ターミナルを開くたびに conda の関数を読み込むようにします。書き換える前に中身を見たいときは conda init --dry-run、取り消すときは conda init --reverse を使います。
初期化していないシェルで conda activate を実行すると、conda は次のエラーを出します。conda 26.9.4 のソースコード(conda/cli/main_mock_activate.py)にある文言です。
CondaError: Run 'conda init' before 'conda activate'
シェルスクリプトや cron は対話用の設定ファイルを読まないことが多いため、ターミナルでは動くのにスクリプトでは同じエラーになります。前の節の eval "$(conda shell.bash hook)" を先頭に書くか、conda run を使います。
baseを自動で有効にしない((base) が付くのを止める)
conda init をすると、ターミナルを開くたびに base 環境が有効になります。base で作業してしまう事故を防ぐため、自動で有効にしない設定にしておくと安全です。
conda config --set auto_activate false
conda 26.9.4 のソースコード(conda/base/context.py)では、設定名は auto_activate で、以前の名前 auto_activate_base は別名として残っています。以前の記事にある conda config --set auto_activate_base false もそのまま効きます。
base 環境の扱い
conda create -n 名前 で作った環境で行う。壊れたら環境ごと消して作り直せる見分ける問い:「この環境を消しても conda は残るか」
condaの使い方:環境の作成・切り替え・削除
この節では、conda で環境を作る、切り替える、一覧を見る、複製する、消すためのコマンドが分かります。
基本は「作る(create)→入る(activate)→出る(deactivate)→要らなくなったら消す(remove --all)」の4つです。
# Python 3.13 の環境「ds」を作る(同時にパッケージも指定できる)
conda create -n ds python=3.13 numpy pandas
# 場所を指定して作る(プロジェクトのフォルダーの中に置く)
conda create -p ./.conda-env python=3.13
# 入る・出る
conda activate ds
conda deactivate
# 環境の一覧(* が今いる環境)
conda env list # conda info --envs と同じ
# 複製・名前の変更
conda create -n ds-copy --clone ds
conda rename -n ds-copy ds-test
# 環境ごと消す
conda remove -n ds-test --all # conda env remove -n ds-test と同じ
| やりたいこと | コマンド | 補足 |
|---|---|---|
| 環境を作る | conda create -n 名前 python=3.13 | -p パス で場所を指定。-y で確認を省く |
| 環境に入る | conda activate 名前 | パスでも指定できる |
| 環境から出る | conda deactivate | 入れ子にした分だけ戻る |
| 一覧を見る | conda env list | conda info --envs と同じ |
| 入らずに1回実行 | conda run -n 名前 コマンド | スクリプト・cron 向け |
| 複製する | conda create -n 新 --clone 元 | 同じ OS の中での複製 |
| 環境を消す | conda remove -n 名前 --all | 今いる環境は消せないので先に出る |
名前で作った環境は、Miniconda のインストール先の envs/名前 に置かれます。存在しない名前を指定すると、conda は次の文言を出します(conda/exceptions.py の EnvironmentNameNotFound)。
Could not find conda environment: dss
You can list all discoverable environments with `conda info --envs`.
環境のディスクについて、conda のドキュメントは「Environments take up little space thanks to hard links」と書いています。パッケージはまずキャッシュ(pkgs フォルダー)に展開され、環境にはハードリンクで置かれるため、同じ版の Python を使う環境を複数作っても、そのたびに Python 1つ分の容量が増えるわけではありません(同じファイルシステムの中にある場合)。
パッケージを入れる・調べる・更新する・消す(conda install)
この節では、環境の中でパッケージを扱うコマンドと、版の指定の書き方が分かります。
入れるのは conda install、見るのは conda list、探すのは conda search、消すのは conda remove です。どれも -n 名前 を付けると、入っていない環境に対しても実行できます。
conda activate ds
# 入れる(版の指定は = ひとつ。pip の == とは書き方が違う)
conda install scipy
conda install "numpy=2.5" # 2.5 系
conda install "pandas>=3.0,<3.2"
conda install -c conda-forge polars # チャンネルを指定
# 何が入るかだけ見る(実際には入れない)
conda install scikit-learn --dry-run
# 調べる
conda list # 入っているパッケージと Channel の列
conda list numpy # 名前で絞る
conda search "numpy>=2.4" # チャンネルにある版
conda list --revisions # これまでの変更の履歴
# 更新・削除
conda update pandas
conda update --all
conda remove scipy
# キャッシュを片付ける(使っていない展開済みパッケージや tarball)
conda clean --all
conda の版の指定は MatchSpec という書き方で、numpy=2.5 は「2.5 で始まる版」、numpy==2.5.4 は「ちょうど 2.5.4」です。シェルでは > や < がリダイレクトとして読まれるので、比較を含む指定は必ず引用符で囲みます。
インストールのとき、conda は「Collecting package metadata」と「Solving environment」を表示します(conda/core/solve.py にある文言)。前者はチャンネルの索引を取ってくる段階、後者は環境の中のすべてのパッケージの組み合わせを解く段階です。conda 26.9.4 の既定のソルバー(依存関係を解く部品)は libmamba で、conda のソースコードに DEFAULT_SOLVER: Final = "libmamba" と書かれています。
condaのコマンド一覧(よく使うもの)
| コマンド | 役割 |
|---|---|
conda info | 版・インストール先・チャンネル・設定ファイルの場所を表示 |
conda config --show | 今効いている設定をすべて表示(--show-sources で出どころ) |
conda list --show-channel-urls | 各パッケージがどのチャンネルから来たか |
conda list --revisions・conda install --revision N | 変更の履歴と、前の状態へ戻す |
conda clean --all | パッケージのキャッシュを片付ける |
conda doctor | 環境の健康診断(ファイルの欠け・依存の不整合など) |
conda self update | base の conda 本体を更新(26.x の公式ドキュメントの手順) |
environment.ymlで環境を再現する(conda env export)
この節では、環境をファイルに書き出して、別のマシンで同じ環境を作る方法と、書き出し方の違いが分かります。
人に渡すなら --from-history 付きで書き出した environment.yml、まったく同じものを同じ OS で作り直すなら explicit 形式の一覧、と使い分けます。
# 自分で指定したパッケージだけを書き出す(OS をまたいでも使いやすい)
conda env export --from-history > environment.yml
# 全パッケージをビルド番号まで書き出す(同じ OS 向け)
conda env export > environment.lock.yml
# ビルド番号を外す
conda env export --no-builds > environment.yml
# 別のマシンで作る・更新する
conda env create -f environment.yml
conda env update -f environment.yml --prune
conda 26.9.4 では conda export という独立したコマンドもあり、conda env export は同じ処理を呼びます。書き出せる形式は、ソースコードの environment_exporters で environment-yaml(別名 yaml・yml)、environment-json、explicit(URL とハッシュの一覧)、requirements(別名 reqs・txt)の4つが定義されています。
手で書く environment.yml の例です。pip でしか入らないものは pip: の下に書くと、conda が最後に pip を呼んで入れます。
name: ds
channels:
- conda-forge
dependencies:
- python=3.13
- numpy=2.5
- pandas>=3.0
- scikit-learn
- pip
- pip:
- some-pypi-only-package==1.2.0
| 書き出し方 | 中身 | 向く場面 |
|---|---|---|
--from-history | 自分が指定したパッケージと版の条件だけ | チームで共有、OS をまたぐ |
| そのまま(既定) | 全パッケージの版とビルド番号、pip で入れた分 | 同じ OS で同じものを作り直す |
--no-builds | 全パッケージの版(ビルド番号なし) | OS は違うが版はそろえたい |
conda export --format explicit | パッケージの URL とハッシュ | ソルバーを通さず確実に再現 |
チャンネル(defaults・conda-forge)と.condarcの設定
この節では、チャンネルの意味と、どこから入れるかを設定ファイルで決める方法が分かります。
Miniconda の既定のチャンネル defaults は、repo.anaconda.com の pkgs/main・pkgs/r・pkgs/msys2 の3つを指す名前です。Anaconda の公式ドキュメントによると、r は2025年11月、msys2 は2026年9月でサポートが終わる予定とされています。conda-forge と名前で書くと、conda は https://conda.anaconda.org/conda-forge に読み替えます。
# チャンネルの並びを見る
conda config --show channels
# conda-forge を先頭に足す(--add と --prepend は同じ)
conda config --add channels conda-forge
# 末尾に足す・取り除く
conda config --append channels bioconda
conda config --remove channels defaults
# 優先順位を厳密にする(既定は flexible)
conda config --set channel_priority strict
# 1つの環境だけの設定にする
conda activate ds
conda config --env --add channels conda-forge
これらのコマンドは設定ファイル .condarc を書き換えます。置き場所は複数あり、conda config --show-sources でどのファイルの設定が効いているかが分かります。
# ~/.condarc の例(conda-forge だけを使う)
channels:
- conda-forge
channel_priority: strict
auto_activate: false
conda 26.9.4 の channel_priority の既定は flexible です(context.py)。flexible は「上のチャンネルを優先しつつ、無ければ下のチャンネルからも取る」、strict は「上のチャンネルにあるパッケージは下のチャンネルから取らない」です。conda-forge のドキュメントは、2024年時点で conda-forge は defaults のパッケージと互換性が無く、両方を同じ環境で混ぜる構成はサポートしない、conda-forge を最優先にした構成だけを支えると書いています。1つの環境の中では、defaults と conda-forge のどちらかに寄せるのが安全です。どちらから入ったかは conda list --show-channel-urls で確かめられます。
Anacondaの利用規約:組織での有償条件(2026年10月29日時点)
この節では、Miniconda を会社で使うときに、どこまでが無料でどこからが有償かを判断する材料が分かります。
Anaconda の Terms of Service(本文の日付は2025年7月15日)では、営利組織は「関連会社を含めた従業員と契約者の合計が200人以下」なら無料で使え、200人を超えると有償の Business プランが必要です。原文は無料の条件を「for-profit organization with 200 or fewer total employees or contractors (including all Affiliates)」と書いています。ここでの関連会社(Affiliate)は、過半数(50%超)を持つ、または契約などで経営を指図できる関係の会社です。つまり子会社・親会社を含めたグループ全体で数えます。
個人の私的・非商用の利用、Academic Policy で定める教育機関、Non-Profit and Research Policy で定める非営利・研究組織は、それぞれの条件のもとで無料とされています。Anaconda は無料の資格を証明するよう求めることがあると書いています。
- 1グループ全体の人数を数える従業員と契約者の合計に、関連会社の分も含める。200人を超える営利組織は有償の条件に当たる
- 2どのチャンネルを使っているかを見る
conda config --show channelsに defaults や repo.anaconda.com があるか。Miniconda は既定で defaults を使う - 3CI・サーバー・Docker の利用も含める規約の第5条では、CI/CD のジョブやサービスアカウントなど人以外の利用も「ユーザー」として数える定めがある
- 4conda-forge だけにするなら設定を確かめるMiniforge を使うか、Miniconda の .condarc から defaults を外す。conda-forge は anaconda.org にあり、anaconda.org には別の規約がある
- 5最後は法務と Anaconda 社に確かめる規約は改定される。判断した日付と根拠の版を社内の記録に残す
conda-anaconda-tos(利用規約への同意を求める仕組み)
いまの Miniconda と Anaconda Distribution には conda-anaconda-tos というプラグインが入っていて、defaults などのチャンネルに初めてアクセスするときに利用規約への同意を求めます。公式ドキュメントにある問いかけは「Do you accept the Terms of Service (ToS) for https://repo.anaconda.com/pkgs/main?」と「[(a)ccept/(r)eject/(v)iew]:」です。
conda tos # チャンネルごとの同意の状態を表で表示
conda tos view # 規約の本文の URL を表示
conda tos accept # 同意する
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main
対話できない場面(CI や Docker のビルド)で同意していないと、次のエラーで止まります。conda-anaconda-tos のソースコード(exceptions.py の CondaToSNonInteractiveError)の文言で、チャンネルの URL とコマンドが埋め込まれます。
CondaToSNonInteractiveError: Terms of Service have not been accepted for the following channels. Please accept or remove them before proceeding:
- https://repo.anaconda.com/pkgs/main
To accept these channels' Terms of Service, run the following commands:
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main
公式ドキュメントによると、環境変数 CI=true がある CI では警告を出して自動で同意し、それ以外では .condarc の plugins.auto_accept_tos: true か環境変数 CONDA_PLUGINS_AUTO_ACCEPT_TOS で自動の同意を設定できます。自動で同意する設定は「規約に同意したこと」になるので、人数の条件を確かめてから入れます。
ディスク使用量と大きさを数字で見る(conda・pip・uv)
この節では、Miniconda と conda のパッケージがどのくらいの大きさで、pip・uv と比べてどうかが実測で分かります。
conda の重さは「パッケージそのもの」より「チャンネルの索引」と「依存するライブラリを別のパッケージとして持つこと」から来ます。conda-forge のチャンネルから、Linux 向けの索引(repodata.json.zst)を実際に取得して数えました。
同じ日の Content-Length は、noarch(OS を問わないパッケージ)が 29,284,505 バイト、osx-arm64 が 26,408,130 バイト、win-64 が 38,269,528 バイトでした。conda は初回やキャッシュの期限が切れたときに、自分の OS の索引と noarch の索引を取得します。「Collecting package metadata」で待たされるのは、このデータを取ってきて読んでいる時間です。チャンネルを増やすほど、この量は増えます。
numpy の conda 版と wheel 版の中身
同じ numpy 2.5.4(Python 3.13・Linux x86_64)を、conda-forge の .conda と PyPI の wheel で取り、中身を数えました。
| conda-forge(.conda) | PyPI(wheel) | |
|---|---|---|
| ファイルの大きさ | 9,339,599 バイト | 16,718,044 バイト |
| 入っているファイル | 1,335 個・展開後 39.7MB | 1,044 個・展開後 56.4MB |
| BLAS(行列計算の部品) | 入っていない。libblas・libcblas・liblapack に依存 | numpy.libs に同梱(libscipy_openblas64_ 24.3MB) |
| 別に入るもの | libopenblas 0.3.34(6,856,873 バイト)など | なし(libgfortran 2.9MB も同梱) |
| 形式 | zip の中に info-*.tar.zst と pkg-*.tar.zst | zip(.whl) |
.conda の中は metadata.json(30バイト)、pkg-numpy-2.5.4-py313hb5f73ae_0.tar.zst(9,262,160バイト)、info-numpy-2.5.4-py313hb5f73ae_0.tar.zst(76,855バイト)の3つでした。info の中の index.json には依存が書かれています。
{"arch": "x86_64", "build": "py313hb5f73ae_0", "build_number": 0,
"constrains": ["numpy-base =15", "libgcc >=15", "__glibc >=2.17,=3.9.0,=3.9.0,=3.9.0,<4.0a0", "python_abi 3.13.* *_cp313"],
"license": "BSD-3-Clause", "name": "numpy", "platform": "linux",
"subdir": "linux-64", "version": "2.5.4"}
wheel は「必要なライブラリを全部抱えて1つで動く」、conda は「ライブラリを別のパッケージにして環境の中で共有する」という違いが、大きさにそのまま出ています。scipy や scikit-learn も同じ BLAS を使うので、conda では BLAS が1つで済み、版も環境全体でそろいます。
ほかの主なパッケージの大きさ(conda-forge、linux-64、同じ日の最新)です。
| パッケージ | 版 | .conda の大きさ |
|---|---|---|
| python | 3.13.18 | 24,309,726 バイト |
| conda | 26.9.4 | 1,467,993 バイト(依存は25個) |
| pandas | 3.1.0 | 17,069,216 バイト(wheel は 11,991,052 バイト) |
| openssl | 4.1.0 | 3,285,961 バイト |
| mamba | 2.10.0 | 679,395 バイト |
conda 26.9.4 の依存には、conda-libmamba-solver・conda-rattler-solver・conda-pypi・conda-self・requests・ruamel.yaml など25個が並びます。conda 本体は小さくても、base 環境には Python とこれらの依存が入るため、Miniconda のインストーラーが 210.9M、公式の目安が約900MBになります。
venv+pip と uv で numpy・pandas を入れた実測
比べるために、Python 3.13.18 の venv と uv 0.11.32 で numpy と pandas を入れ、時間と容量を測りました(キャッシュが空の状態から、同じマシン・同じ回線で1回ずつ)。
| 手順 | かかった時間 | 環境の大きさ | キャッシュ |
|---|---|---|---|
python3 -m venv | 2.933秒 | 13MB | - |
| pip install numpy pandas | 101.566秒 | 116MB | 29MB |
uv venv | 0.109秒 | 64KB | - |
| uv pip install numpy pandas | 1.033秒 | 120MB | 121MB |
入った版は numpy 2.5.4・pandas 3.1.0・python-dateutil 3.0.0・six 1.17.0・tzdata 2026.6 でした。venv の環境は OS の Python を指すだけなので、Python 本体の分は入りません。conda の環境は Python 本体(展開後で100MB前後)も環境ごとに持ちます(同じ版ならハードリンクで共有)。pip の101秒はこのマシンが共有で混んでいたことの影響が大きく、速さの比較は目安です。
condaとpipを混ぜたときに起きること
この節では、conda の環境で pip を使うと何が起きるのか、どういう順番なら安全かが分かります。
conda と pip は、同じ site-packages に別々の記録の仕方でパッケージを置きます。conda は環境の conda-meta フォルダーに「どのパッケージのどのファイルを入れたか」を記録し、pip は *.dist-info に記録します。前の節で取得した conda-forge の numpy の中には、pip 向けの dist-info も入っていて、その INSTALLER ファイルの中身は conda でした。
lib/python3.13/site-packages/numpy-2.5.4.dist-info/INSTALLER -> b'conda\n'
lib/python3.13/site-packages/numpy-2.5.4.dist-info/RECORD
lib/python3.13/site-packages/numpy-2.5.4.dist-info/direct_url.json
このため pip からも conda で入れた numpy が「入っている」と見えます。一方で、pip が numpy を入れ替えても conda の conda-meta は書き換わりません。conda は pip で入れたものを site-packages から読み取り、conda list では Channel を pypi、ビルドを pypi_0 として表示します(conda のソースコード plugins/prefix_data_loaders/pypi)。
conda のドキュメント(Using pip in an environment)は、混ぜるときの決まりを次のようにまとめています。
- 1pip は conda の後に使うconda で入るものはできるだけ conda で入れ、残りだけ pip で入れる
- 2pip は既定の更新方針のまま
--upgrade-strategy only-if-needed(既定)で、依存を必要以上に入れ替えない - 3
pip install --userを使わないホームの下に入り、すべての環境から見えてしまう - 4base 環境で pip を使わない変更を閉じ込められる別の環境で行う
- 5pip の後に conda で足したくなったら作り直すpip の変更を conda は知らないので、environment.yml から新しい環境を作る
足りないパッケージを足すとき
pip install -U numpy で上げ、その後で conda install scikit-learn。conda の記録と実際のファイルがずれ、conda list の版と import される版が食い違うことがあるpip: の部分に書き足し、conda env create で作り直す。conda で入る版を先に探す(conda search)見分ける問い:「その pip install は、conda で入るものを置き換えていないか」
conda 26.9 からは、conda-pypi チャンネルを使って PyPI の純粋な Python の wheel を conda install で入れる方法も用意されました。公式ドキュメントは、この方法には conda 26.9 以降と rattler ソルバーが必要で、pip の置き換えではなく「conda が環境を管理し、ソルバーが依存全体を扱う」ためのものだと説明しています。2026年10月29日時点では新しい機能なので、まずは pip: の節で書く方法が無難です。
どの pip が動いているかも確かめます。環境に pip を入れていないと、PATH の次にある別の pip(base や OS の pip)が動き、別の場所に入ります。
conda activate ds
conda install pip # 環境に pip を入れておく
which python pip # どちらも .../envs/ds/bin を指すか
python -m pip install パッケージ名 # python -m pip なら今の python の pip が動く
pip・venv・uv・mamba・Miniforgeとの判断表
この節では、Miniconda を使うべきか、ほかの道具のほうが合うかを、場面ごとに判断できます。
「Python 以外のライブラリまで環境ごとにそろえたいか」と「組織の人数と利用規約」の2つで、ほとんど決まります。
| 場面 | 向く道具 | 理由 |
|---|---|---|
| Web アプリ・API・業務スクリプト | venv+pip か uv | PyPI の wheel で足りる。環境が軽く、Docker にも載せやすい |
| Python の版を切り替えたい(Python のみ) | uv か pyenv+venv | Python 本体の切り替えだけなら conda まで要らない |
| GDAL・PROJ・HDF5・R など Python 以外も使う | conda(Miniconda か Miniforge) | C/C++ のライブラリも同じ仕組みで版をそろえられる |
| CUDA の部品を環境ごとに分けたい | conda | CUDA の実行時ライブラリを環境に入れられる(ドライバーは OS 側) |
| 200人を超える営利組織で契約が無い | Miniforge(conda-forge だけ) | defaults を使わない構成にできる |
| conda の環境を速く作りたい・CI で使う | mamba・micromamba | conda と同じパッケージを扱う別の実装。micromamba は単体のバイナリ |
| 授業で Jupyter などをすぐ使う | Anaconda Distribution | 画面のツールと主なパッケージが最初から入る |
mamba は conda と同じコマンドの形(mamba create・mamba install)で動く別の実装で、Miniforge には最初から入っています。conda 自体も 23.10 から libmamba ソルバーを既定にしているため、以前ほど速さの差はありません。micromamba は Python を使わずに動く1つの実行ファイルで、Docker のイメージや CI で base を持たずに環境を作るときに使われます。
この記事は conda 側の入口です。pip のコマンドは関連記事「pipコマンド一覧|installのバージョン指定とrequirements.txt」で、venv の作り方は関連記事「Python venvの使い方|仮想環境の作成・有効化・削除をOS別にコピペ」で、uv は関連記事「uv venvとuvの使い方|仮想環境の作成・有効化とpipとの速さ比較」で扱っています。Python の版の切り替えは関連記事「pyenvとは|インストール・使い方・仕組みとエラーの直し方」で扱っています。
よくあるエラー・つまずき(conda: command not found ほか)
この節では、Miniconda と conda でよく出るエラーの文言と、原因・直し方が分かります。
conda が入っていない(PATH に無い)シェルで実行すると、bash と sh は次のように表示しました(この環境で実行した出力。終了コードはどちらも127)。
$ bash -c 'conda --version'
bash: line 1: conda: command not found
$ sh -c 'conda activate'
sh: 1: conda: not found
ターミナルで直接打った場合は bash: conda: command not found、zsh では zsh: command not found: conda の形になります。
| 出る文言(原文) | 原因 | 直し方 |
|---|---|---|
conda: command not found | conda init をしていない・シェルを読み直していない・別のシェル | ~/miniconda3/bin/conda init(zsh なら init zsh)→ ターミナルを開き直す |
CondaError: Run 'conda init' before 'conda activate' | シェルに conda の関数が読み込まれていない | eval "$(conda shell.bash hook)" か conda run |
Could not find conda environment: 名前 | 環境の名前違い・別の Miniconda の環境 | conda info --envs で名前と場所を確かめる |
The following packages are not available from current channels: | そのチャンネルに無い・名前違い・OS に無い | conda search、-c conda-forge、名前の綴り |
LibMambaUnsatisfiableError | 指定した版どうしが同時に満たせない | 版の指定をゆるめる、新しい環境で作る |
CondaToSNonInteractiveError: Terms of Service have not been accepted ... | defaults の規約に同意していない(CI・Docker) | 人数の条件を確かめて conda tos accept、または defaults を外す |
CondaHTTPError: HTTP 000 CONNECTION FAILED for url <...> | プロキシ・社内の規則・回線 | .condarc の proxy_servers、通信の許可を頼む |
エラーの文言は conda 26.9.4 と conda-anaconda-tos、conda-libmamba-solver のソースコードにあるものです。HTTP のエラーは、ステータスが取れないときに「000」と「CONNECTION FAILED」が入ります(conda/exceptions.py の CondaHTTPError)。repodata の取得に失敗したときは、続けて「An HTTP error occurred when trying to retrieve this URL.」と、repo.anaconda.com が遮断されているならネットワークの担当に相談するよう促す文が出ます。
Solving environment が終わらない・遅い
- conda を新しくする:libmamba ソルバーが既定になったのは conda 23.10 からです。
conda --versionがそれより前なら、base の conda を更新します。設定でsolver: classicにしていないかもconda config --show solverで見ます。 - チャンネルを混ぜない:defaults と conda-forge を両方 flexible で並べると、候補が増えて解きにくくなります。どちらかに寄せ、
channel_priority: strictにします。 - base に入れない・環境を作り直す:長く使った環境は制約が積み重なっています。必要なものだけを書いた environment.yml から新しい環境を作るほうが早く終わります。
- 版の指定を見直す:
python=3.9のように以前の版に固定すると、新しいパッケージが合わずに探索が長引きます。
VS Code・Jupyter・Dockerでconda環境を使う
この節では、作った conda の環境をエディター・ノートブック・Docker・チームで使う方法が分かります。
VS Code と Jupyter
VS Code では、コマンドパレットの「Python: Select Interpreter」で conda の環境を選びます。Python 拡張機能は conda の環境を一覧に出し、ターミナルを開くと自動で conda activate します。一覧に出ないときは、環境の Python のパス(Linux・Mac は ~/miniconda3/envs/名前/bin/python、Windows は envs\名前\python.exe)を直接指定します。
Jupyter から使うときは、Jupyter を入れた環境とは別の環境を「カーネル」として登録する方法が一般的です。
conda activate ds
conda install ipykernel
python -m ipykernel install --user --name ds --display-name "Python (ds)"
ノートブックで ModuleNotFoundError が出るのに、ターミナルでは import できる場合は、ノートブックのカーネルが別の環境を指しています。ノートブックで import sys; print(sys.executable) を実行し、どの環境の Python かを確かめます。
Docker とチームでの運用
チームでは、channels: を明記した environment.yml をリポジトリに置き、各自の .condarc に頼らないようにします。Docker のイメージは Miniconda・Miniforge・micromamba のどれかで作り、conda clean --all でキャッシュを消してから層を閉じます。
# Miniforge を対話なしで入れる例(conda-forge だけ)
FROM ubuntu:24.04
RUN apt-get update && apt-get install -y --no-install-recommends curl ca-certificates \
&& rm -rf /var/lib/apt/lists/*
RUN curl -L -o /tmp/miniforge.sh \
"https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh" \
&& bash /tmp/miniforge.sh -b -p /opt/conda && rm /tmp/miniforge.sh
ENV PATH=/opt/conda/bin:$PATH
COPY environment.yml /tmp/environment.yml
RUN conda env create -f /tmp/environment.yml && conda clean --all -y
SHELL ["conda", "run", "-n", "ds", "/bin/bash", "-c"]
Docker のビルドではシェルの初期化ファイルが読まれないため、conda activate ではなく conda run -n 環境名 で実行します。defaults を使うイメージでは、前の節の CondaToSNonInteractiveError で止まらないよう、条件を確かめたうえで CONDA_PLUGINS_AUTO_ACCEPT_TOS を渡します。
pip で入れようとして externally-managed-environment と言われた場合(Homebrew や apt の Python に直接入れようとしたとき)は、関連記事「externally-managed-environmentの直し方|pip」で扱っています。conda の環境の中の pip ではこの制限はかかりません。
よくある質問
この節では、Miniconda と conda についてよく調べられる疑問への短い答えが分かります。
Q. Minicondaとcondaは何が違いますか? A. conda はコマンド(パッケージと環境を管理するツール)の名前で、Miniconda は conda と Python を入れるためのインストーラー(配布物)の名前です。Miniconda を入れると conda が使えるようになります。
Q. Minicondaは無料ですか? A. インストーラーの取得に料金はかかりません。ただし Anaconda の利用規約(2026年10月29日時点)では、関連会社を含めて従業員と契約者が200人を超える営利組織が defaults などの Anaconda のリポジトリを使うには、有償の Business プランが必要です。
Q. MinicondaとAnacondaは両方入れてもよいですか?
A. 入れられますが、どちらも conda init でシェルの設定を書き換えるため、どちらの conda が動いているか分かりにくくなります。片方を uninstall.sh で消すか、which conda で確かめながら使います。
Q. AnacondaからMinicondaに乗り換えるには?
A. 使っている環境を conda env export --from-history で書き出し、Anaconda をアンインストールしてから Miniconda を入れ、conda env create -f で作り直します。インストール先のフォルダーをそのまま移すことはできません。
Q. conda installとpip installはどちらを使えばよいですか? A. conda の環境の中では、conda で入るものは conda で入れ、conda に無いものだけを最後に pip で入れます。conda を使わないプロジェクトなら、venv+pip か uv で揃えます。
Q. condaの環境はどこにありますか?
A. 名前で作った環境は Miniconda のインストール先の envs フォルダーの下です。conda info --envs で場所が一覧になります。-p で場所を指定して作った環境は、そのフォルダーにあります。
Q. ディスクが足りなくなりました。
A. まず conda clean --all でキャッシュを片付け、使っていない環境を conda remove -n 名前 --all で消します。du -sh ~/miniconda3/pkgs ~/miniconda3/envs/* で、どこが大きいかを見ます。
Q. Apple シリコンのMacでも使えますか?
A. 使えます。Miniconda の公式のシステム要件では、macOS は 12.1 以降の Apple シリコンが対象です。インストーラーは MacOSX-arm64 のものを選びます。
Q. Mambaforgeはまだ使えますか? A. Miniforge の README によると、2023年8月の Miniforge 23.3.1 以降は Mambaforge と実質同じ内容になり、Mambaforge は2024年6月に非推奨、2025年1月に提供を終えるとされました。新しく入れるなら Miniforge を使います。
まとめ
- Miniconda は conda・Python・依存だけを base に入れる最小のインストーラー。Anaconda Distribution との違いは同梱物(公式の目安は約900MBと約9.7GB)、Miniforge との違いは既定のチャンネル(defaults と conda-forge)。
- 使い方の基本は
conda create -n 名前 python=版→conda activate→conda install。base では作業せず、conda config --set auto_activate falseで自動の有効化を止める。 - 環境の再現は
conda env export --from-historyの environment.yml。defaults と conda-forge は1つの環境で混ぜず、channel_priority: strictにする。 - Anaconda の利用規約では、関連会社を含め200人を超える営利組織が defaults などを使うには有償プランが要る(2026年10月29日時点)。CI の利用も含めて判断し、記録を残す。
- conda-forge の索引は linux-64 だけで圧縮59.6MB・展開461MB。numpy は conda 版が 9.3MB(BLAS は別パッケージ)、wheel 版が 16.7MB(BLAS を同梱)。pip は conda の後に、足りない分だけ使う。
参考・出典
確認日はいずれも 2026年10月29日です。
- Anaconda「Miniconda」(Anaconda Distribution との比較):https://anaconda.com/docs/getting-started/miniconda/main
- Anaconda「Installing Miniconda(Linux)」:https://anaconda.com/docs/getting-started/miniconda/install/linux-install
- Anaconda「Miniconda system requirements」:https://anaconda.com/docs/getting-started/miniconda/system-requirements
- Anaconda「Uninstalling Miniconda」:https://anaconda.com/docs/getting-started/miniconda/uninstall
- Anaconda「Managing Terms of Service on the command line」:https://anaconda.com/docs/getting-started/tos-plugin
- Anaconda「Channels」:https://anaconda.com/docs/getting-started/working-with-conda/channels
- Anaconda「Terms of Service」:https://www.anaconda.com/legal/terms/terms-of-service
- Miniconda のインストーラー一覧とハッシュ:https://repo.anaconda.com/miniconda/
- conda のソースコードとドキュメント(タグ 26.9.4):https://github.com/conda/conda/tree/26.9.4
- conda「Managing environments」(Using pip in an environment):https://docs.conda.io/projects/conda/en/stable/user-guide/tasks/manage-environments.html
- conda「Installing packages from PyPI with conda」:https://docs.conda.io/projects/conda/en/stable/user-guide/tasks/install-packages-from-pypi.html
- conda-anaconda-tos のソースコード:https://github.com/anaconda/conda-anaconda-tos
- conda-libmamba-solver のソースコード:https://github.com/conda/conda-libmamba-solver
- conda/constructor「header.sh」(インストーラーのオプション):https://github.com/conda/constructor/blob/main/constructor/header.sh
- conda-forge「Transitioning from defaults」:https://conda-forge.org/docs/user/transitioning_from_defaults/
- conda-forge/miniforge の README:https://github.com/conda-forge/miniforge
- conda-forge の索引(linux-64):https://conda.anaconda.org/conda-forge/linux-64/repodata.json.zst
- PyPI「numpy 2.5.4」:https://pypi.org/project/numpy/2.5.4/
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「Minicondaとは?使い方とAnacondaとの違い・200人規約とpip混在」
株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。
WE ARE HIRING
RJCで一緒に開発しながら、
成長を楽しみませんか?
RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!
- 127日年間休日
- 12時間平均残業時間
- 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!
ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。