3-3. Conda による仮想環境 (Miniforge で行う)

本サイトで紹介している商品・サービス等の外部リンクには、アフィリエイト広告が含まれる場合があります。

概要

Conda は、Anaconda や Miniconda, Miniforge に同梱されており、パッケージ管理や仮想環境の作成ができます。
ここでは 主に Conda による仮想環境の作成の観点で記載しています。

Conda とは

Conda は、Python をはじめとしたプログラミング言語のパッケージ管理・環境構築ツールです。

Conda の特徴

  • パッケージ管理: Python だけでなく、RやCライブラリなども管理可能
  • 仮想環境の構築: プロジェクトごとに異なる環境を簡単に作成・切り替え
  • 依存関係の解決: 複雑な依存関係も自動的に解決

Conda のインストール

Conda は、Anaconda, Miniconda, Miniforge のいずれかをインストールすれば利用できます。

Anaconda, Miniconda と Miniforge の比較

項目AnacondaMinicondaMiniforge
内容Python と主要な科学技術計算ライブラリを一式含む最小限の Conda と Python のみMiniconda + デフォルトレポジトリを conda-forge にしたもの
サイズ数 GB数百 MB数百 MB
インストール後の環境多数のパッケージがすぐに利用可能必要なパッケージは都度インストールconda-forge ベースの最新パッケージ利用可能
チャンネルdefaults チャンネルdefaults チャンネルconda-forge チャンネルがデフォルト
ライセンス商用利用には注意が必要(一部制限あり)無償・制限なし
defaults チャネルでの商用利用には注意が必要
無償・制限なし

Condaのチャンネルは、conda install コマンドでパッケージをインストールする際に、どのリポジトリからパッケージを取得するかを指定する役割を担っています。

Miniforge とは

Miniforge は、Miniconda をベースに conda-forge チャンネルをデフォルトで利用するよう構成されたディストリビューションです。

Miniforge の特徴:

  • conda-forge チャンネルがデフォルト設定
  • ライセンスの心配なし
  • 軽量で必要なものだけインストール可能

公式サイト
https://conda-forge.org/
https://github.com/conda-forge/miniforge

ライセンス条項の更新(2024年以降の商用利用制限)

2024年以降、Anaconda Distribution の商用利用には制限が強化されました。従業員・契約者数が200名以上の企業や組織が Anaconda を商用利用する場合、有償のライセンス契約が必要です。一方、Miniconda や Miniforge は BSD ライセンスのため、商用・非商用問わず無償で利用できますが、“defaults” チャンネルの利用には注意が必要です。

Anaconda 利用規約からいくつか意訳(本稿更新時点)

  • 個人利用・教育・非営利は無料利用可能(学生、大学、200名以下の組織)。(1. When You Can Use The Platform For Free)
  • 商用利用では200名以上の企業は Business Plan が必須。(1. When You Can Use The Platform For Free)
  • 利用状況の確認や検証のための連絡を受ける場合あり。(5. Users – Verification and User Count.)
  • サービスは「現状有姿(AS-IS)」で提供され、明示的な保証は無し。(15. No Warranty; Platform Provided “AS-IS”)

詳細は公式サイトの情報をご参照ください。
Anaconda Terms of Service

defaults チャンネル と conda-forge の違いと注意点

  • defaults チャンネル: Anaconda 社が公式に提供しているパッケージ群。商用利用にはライセンスの制約があります。
  • conda-forge チャンネル: コミュニティ主導で維持されるオープンソースのパッケージ集。ライセンスの制約がなく、商用・非商用を問わず自由に利用可能です。

Miniconda や Miniforge を用いて conda-forge チャンネルを利用することで、ライセンス問題を回避しつつ幅広いパッケージを入手できます。

参考情報
https://www.anaconda.com/blog/update-on-anacondas-terms-of-service-for-academia-and-research
 → repo.anaconda.com (defaults チャンネルのパッケージ) の利用について以下の記載があります。

The Anaconda Repository (https://repo.anaconda.com/) is governed by our Terms of Service which means

  • It is free for individuals, universities, as well as companies with fewer than 200 employees; and  
  • It requires a license for any use at companies with 200 or more employees that are not educational or academic instructional organizations (including, for example, non-university research entities and national laboratories).

https://www.anaconda.com/blog/update-on-anacondas-terms-of-service-for-academia-and-research

Miniforge のインストールと仮想環境

ここでは、Minforce をインストールして Conda で仮想環境を作成する方法を記載します。

Miniforge のインストール

(1) 公式サイトから Miniforge のインストーラをダウンロードします。
https://github.com/conda-forge/miniforge
→ 右側 conda-forge.org/download

Conda の github サイト

ここでは Windows 版で行うので、Windows用のインストーラをダウンロードします。

Miniforge のダウンロードページ

(2) ダウンロードしたインストーラ (Miniforge3-Windows-x86_64.exe) を実行し、画面の指示に従ってインストールします。

ここではデフォルトのまま、Just Me でインストールを進めています。

2つ目のチェックボックスについては、記載されているとおり PATH の環境変数への登録は非推奨となっているので、ここではチェックを入れずに進めています。
後述する conda init でターミナルごとの設定ができるので、ここで設定しなくても同様な設定は可能です。

Miniforge のインストーラ - Advanced Installation Options

(3) インストール後に、スタート – Miniforge で検索して、表示される Miniforge Prompt を起動します。

(4) Miniforge Prompt 内で以下を実行してバージョンが表示されることを確認します。

conda --version
Miniforge Prompt で conda --version を実行

Miniforge インストール後の初期設定

参照 : Usage

Miniforge をインストールすると conda mamba が使用可能になりますが、Windows のデフォルト設定では「Miniforge Prompt」でのみ使用可能です。
その他のターミナル(PowerShell, Git Bash など)で使うには、以下を実行してシェルに設定を追加する必要があります。

Windows の場合、Miniforge Prompt を起動して以下を実行します:

conda init
Miniforge Prompt で conda init を実行

Unix 系(macOS, Linux)で非対話インストールした場合は、フルパスで以下を実行します:

~/miniforge3/bin/conda init

conda init はシェルの設定ファイル(例: .bashrc, .zshrc, PowerShell プロファイルなど)に初期化コードを追加し、どのターミナルでも conda を使えるようにします。

シェルの設定ファイル(例):

  • bash: ~/.bashrc または ~/.bash_profile
  • zsh: ~/.zshrc
  • fish: ~/.config/fish/config.fish
  • PowerShell: $PROFILE
  • cmd.exe

これにより、通常の PowerShell やコマンドプロンプトの起動時に conda コマンドが利用可能になり、conda activate がパス設定なしで動作します。

もし元に戻したい場合は、conda init --reverse で可能です。

また、conda init を行わない方法として、Windows では以下のパスを手動で PATH 環境変数に追加することでも対応可能です。

Just Me でインストールした場合
C:\Users\<ユーザー名>\miniforge3\condabin

All Users でインストールした安倍は
C:\ProgramData\miniforge3\condabin

これらにより、ターミナル起動時に conda が使える状態になります。

Conda の基本コマンド

仮想環境の作成

conda create -n <環境名>

python= で特定のバージョンの仮想環境が作成できます。

conda create -n my311env python=3.11

Miniforge の Conda で仮想環境を作成すると、デフォルトでは以下の場所に作成されます。

<Condaのインストールパス>/envs/<環境名>

Windows:
C:\Users\<ユーザー名>\miniforge3\envs\<環境名>

macOS / Linux:
/Users/<ユーザー名>/miniforge3/envs/<環境名>

環境の作成先を変更したい場合

conda create 時に --prefix(または -p)オプションを使うことで、任意のパスに作成可能です。

例)

Windows:
conda create --prefix C:\path\to\your\env

macOS / Linux:
conda create --prefix /path/to/your/env python=3.11

仮想環境の有効化 Activate

conda activate <環境名>

--prefix で仮想環境の作成先を変更している場合は、activate 時にパスで指定する必要があります。

conda activate /path/to/your/env

パッケージのインストール

conda install <パッケージ名>

例) requests パッケージのインストール

パッケージのアップデート

conda update <パッケージ名>

パッケージの削除

conda remove <パッケージ名>

仮想環境の無効化 Deactivate

conda deactivate
conda で仮想環境を deactivate

仮想環境の一覧表示

conda env list
conda で管理している仮想環境を確認

仮想環境の削除

conda env remove -n <環境名>

pip との併用

Conda で環境構築後、pip でインストールすることも可能ですが、依存関係が複雑な場合は注意が必要です。基本は conda でインストールし、conda に無い場合のみ pip を使用するのが推奨されます。
参考 : Using pip in an environment

参考となれば幸いです。