Pythonの開発環境をcondaで管理しているなら、まずは下記の記事を一度読んでみることをおすすめします。
以下の記事はこの内容を簡単に振り返り、実際に使用するconda環境の作成・削除・複製・移行方法を中心に整理した実践ガイドです。
1. Anaconda vs Miniconda 一行要約
要約すると以下のようになります。
-
Anaconda:
→ データサイエンス/機械学習に頻繁に使用されるパッケージを一度にインストールしてくれるオールインワンディストリビューション -
Miniconda:
→ conda環境/パッケージ管理機能のみを提供し、
必要なパッケージは開発者が自分で選んでインストールするミニマルディストリビューション
私は「軽く始め、必要な時だけパッケージを追加するスタイル」を好むので、
できるだけMinicondaをインストールし、それに基づいて環境を構築する方法を推奨します。
-
ディスクの使用量が少なく
-
アップデートが面倒でなくなり
-
プロジェクトごとに本当に必要なものだけをインストールすることで環境が散らからないという利点があります。
2. conda環境の概念を素早く整理する
condaの「環境(environment)」は簡単に言うとプロジェクトごとに分離されたPython/パッケージのセットです。
-
env A: Python 3.10 + Django 4 + 特定のライブラリバージョン -
env B: Python 3.11 + FastAPI + 全く異なるライブラリセット
このように異なるバージョンが互いに干渉しないように隔離することが重要です。
環境に関連してよく使用される基本的なコマンドは次の通りです。
# 現在インストールされているconda環境の一覧を表示
conda env list
# または
conda info --envs
3. conda環境を作成する
3.1 最も基本的な環境の作成
conda create -n myenv python=3.12
-
-n myenv: 環境名をmyenvに指定 -
python=3.12: Python 3.12 バージョンを使用
環境が作成された後には:
conda activate myenv # 環境をアクティブ化
conda deactivate # 環境を非アクティブ化
3.2 作成しながらよく使うパッケージを一緒にインストール
conda create -n myenv python=3.12 numpy pandas matplotlib
既にインストールされているMinicondaの基本チャンネルからこれらのパッケージを一緒にインストールした新しい環境が作成されます。
その後には:
conda activate myenv
conda install scikit-learn
# または
pip install requests
のように必要なときにパッケージを追加して行けば大丈夫です。
4. conda環境を削除する
もはや使用しない環境は思い切って削除するのが良いです。
(conda環境はかなりディスクスペースを消費します。)
# myenv環境を削除
conda env remove -n myenv
削除後確認:
conda env list
myenvがリストから消えていれば正常です。
5. conda環境を複製する (clone)
実験用に色々インストールした環境を
「似たような設定だが名前だけが異なる環境」にもう一つ作りたいときに便利です。
# existing-env を基に new-env という複製環境を作成
conda create -n new-env --clone existing-env
-
パッケージバージョンまでそのまま持ってくるので、
-
「既存環境はそのままにしておいて、新しい実験をしたいとき」によく使うパターンです。
複製後:
conda activate new-env
してうまく動作するか確認すれば大丈夫です。
6. conda環境を移行する (export / import)
他のPCやサーバーに環境を移したいときは
環境をファイルとしてエクスポートした後(import/export)そのファイルを基に新しい環境を作るのが最も一般的です。
6.1 環境をエクスポートする(export) – YAMLファイルを作成
# myenv環境を env.yml ファイルにエクスポート
conda env export -n myenv > env.yml
このenv.ymlファイルには:
-
環境名
-
使用中のチャンネル情報
-
インストールされているパッケージとバージョン
が記録されています。
ヒストリーベースの最小リストだけをエクスポートしたい場合
依存関係まで含まれたフルリストの代わりに、
「自分が直接インストールしたパッケージだけ」を記録したい場合は:
conda env export -n myenv --from-history > env-min.yml
こうして作成しておけば、他の環境でcreateした際に
必要な依存関係は再びcondaが自動的に解決してくれます。
6.2 他の場所(または同じマシン)で環境を作成する
他のPC、サーバー、または同じマシンの新しい場所で:
conda env create -f env.yml
こうすればenv.ymlに定義された名前とパッケージバージョンで環境が作成されます。
-
env.yml内にname: myenvと書いてあれば、その名前で作成される -
名前を変更したい場合は
env.ymlファイルのname:部分を直接修正してから実行
例えば、env.ymlのname: myenvをname: myenv-devに変更した後:
conda env create -f env.yml
conda activate myenv-dev
すれば、同じ構成を名称だけ変えて持ってくることができます。
7. よく使うcondaパターン整理
Minicondaを基に環境を構築する際によく使用する便利なパターンを整理してみます。
-
プロジェクトごとに環境を一つずつ
-
proj-a-env、proj-b-envのようにプロジェクト名を基に環境名を冠する -
互いに衝突せず、バージョン管理が容易になります。
-
-
環境は最小インストール後、必要な時にのみ拡張
-
最初は
python+ いくつかの基本パッケージだけをインストール -
開発中に必要なときに
conda installまたはpip installで拡張
→ これがMinicondaのミニマル哲学にぴったりです。
-
-
重要な環境は定期的にエクスポート
-
リリース時、配布前に:
bash conda env export -n proj-a-env --from-history > proj-a-env.yml -
このファイルをリポジトリにコミットしておくと、
同じ環境をチームメンバーが簡単に再現できます。
-
-
大規模な変更の前にはcloneでバックアップ
-
大規模なパッケージのアップグレード、Pythonバージョン変更の前には:
bash conda create -n proj-a-backup --clone proj-a-env -
問題が発生した場合、バックアップ環境に素早く戻ることができます。
-

まとめ: 軽く始めて、必要な時に拡張する
整理すると選択肢は単純です。
-
Anacondaは「必要かもしれないパッケージ」を一度にインストールして始める方法
-
Minicondaは「本当に必要なものだけをその都度インストール」して軽く取り組む方法
最近のようにプロジェクトごとに要求されるPythonバージョン、パッケージの組み合わせがさまざまな状況では、
Miniconda + よく管理されたconda環境の組み合わせがはるかに柔軟です。
環境を:
-
作って(
conda create) -
起動して(
conda activate) -
削除して(
conda env remove) -
複製して(
conda create --clone) -
他の場所に移す(
conda env export/conda env create)
この程度を身に付けておけば、新しいプロジェクトを始めるたびに
「今度は何を削除し、何を再インストールする必要があるのか?」という悩みからかなり自由になれます。
これから新たにプロジェクトを始めるときは:
-
Minicondaを基に新しい環境を一つ作成し
-
その中に本当に必要なパッケージだけをインストールしてみてください。
-
環境構成が気に入ったら
env.ymlにエクスポートしておき、
次のプロジェクトではそれを少し修正して再利用できます。
このパターンが一度身に付けば、conda環境管理はもう面倒なことではなく、
「プロジェクトをきれいに保つための頼もしい習慣」となるでしょう。
コメントはありません。