Pythonの開発環境をcondaで管理しているなら、まずは下記の記事を一度読んでみることをおすすめします。

以下の記事では、この内容を簡単に振り返りつつ、実際に使うconda環境の作成・削除・複製・移行方法を中心に整理した実践ガイドを紹介します。


Anaconda vs Miniconda 一行要約



要約すると、次のようになります。

  • Anaconda: データサイエンスや機械学習でよく使われるパッケージをまとめてインストールできるオールインワンのディストリビューション
  • Miniconda: condaの環境管理・パッケージ管理機能のみを提供し、 必要なパッケージは開発者自身が選んでインストールするミニマルなディストリビューション

私は「軽く始めて、必要になったときだけパッケージを追加するスタイル」を好むので、 できるだけMinicondaをインストールし、それをベースに環境を構築する方法をおすすめします。

  • ディスク使用量を抑えられる
  • アップデートの負担が軽くなる
  • プロジェクトごとに本当に必要なものだけを入れることで、環境が散らかりにくい

といった利点があります。


conda環境の概念を手早く整理する

condaの「環境(environment)」とは、簡単に言えばプロジェクトごとに分離されたPythonとパッケージのセットです。

  • env A: Python 3.10 + Django 4 + 特定のライブラリバージョン
  • env B: Python 3.11 + FastAPI + まったく異なるライブラリセット

このように、異なるバージョン同士が互いに干渉しないよう隔離することが重要です。

環境関連でよく使う基本コマンドは次のとおりです。

# 現在インストールされているconda環境の一覧を表示
conda env list

# または
conda info --envs

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

のように、必要になったタイミングでパッケージを追加していけば十分です。


conda環境を削除する

もう使わない環境は、思い切って削除してしまうのがよいでしょう。 (conda環境はかなりディスク容量を消費します。)

# myenv環境を削除
conda env remove -n myenv

削除後の確認:

conda env list

myenvが一覧から消えていれば正常です。


conda環境を複製する(clone)

実験用にいろいろインストールした環境を、 「似た構成だが名前だけが異なる環境」としてもう一つ作りたいときに便利です。

# existing-env を基に new-env という複製環境を作成
conda create -n new-env --clone existing-env
  • パッケージのバージョンまでそのまま引き継げるため、
  • 「既存環境はそのまま残して、新しい実験をしたい」ときによく使うパターンです。

複製後は、

conda activate new-env

として、正常に動作するか確認すれば大丈夫です。


conda環境を移行する(export / import)

他のPCやサーバーに環境を移したいときは、 環境をファイルとしてエクスポートし、そのファイルをもとに新しい環境を作成する方法がもっとも一般的です。

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.ymlname: myenvname: myenv-devに変更したあとで、

conda env create -f env.yml
conda activate myenv-dev

とすれば、同じ構成の環境を名前だけ変えて作成できます。


よく使うcondaパターン整理

Minicondaをベースに環境を構築する際によく使う、便利なパターンを整理してみます。

  1. プロジェクトごとに環境を一つずつ作る
  • proj-a-envproj-b-envのようにプロジェクト名をもとに環境名を付ける
  • 互いに衝突しにくく、バージョン管理もしやすくなります
  1. 環境は最小構成で作り、必要なときだけ拡張する
  • 最初はpythonといくつかの基本パッケージだけをインストール
  • 開発中に必要になったタイミングでconda installまたはpip installで拡張する → これがMinicondaのミニマルな思想にぴったりです
  1. 重要な環境は定期的にエクスポートする
  • リリース時や配布前に:

bash conda env export -n proj-a-env --from-history > proj-a-env.yml

  • このファイルをリポジトリにコミットしておけば、 同じ環境をチームメンバーが簡単に再現できます
  1. 大きな変更の前にはcloneでバックアップする
  • 大規模なパッケージアップグレードやPythonバージョン変更の前に:

bash conda create -n proj-a-backup --clone proj-a-env

  • 問題が発生した場合でも、バックアップ環境に素早く戻れます

python conda環境画像

まとめ: 軽く始めて、必要なときに拡張する

整理すると、選択肢はシンプルです。

  • Anacondaは「必要になりそうなパッケージ」をまとめてインストールして始める方法
  • Minicondaは「本当に必要なものだけをその都度インストール」して軽く始める方法

最近のように、プロジェクトごとに必要なPythonバージョンやパッケージの組み合わせが大きく異なる状況では、 Miniconda + 適切に管理されたconda環境の組み合わせのほうが、はるかに柔軟です。

環境を

  • 作る(conda create
  • 有効化する(conda activate
  • 削除する(conda env remove
  • 複製する(conda create --clone
  • 他の場所へ移す(conda env export / conda env create

このあたりを身につけておけば、新しいプロジェクトを始めるたびに 「今度は何を削除して、何を再インストールしなければならないのか?」と悩むことはかなり減るはずです。

これから新しくプロジェクトを始めるときは、

  1. Minicondaをベースに新しい環境を一つ作成し
  2. その中に本当に必要なパッケージだけをインストールしてみてください
  3. 環境構成が気に入ったらenv.ymlとしてエクスポートしておき、 次のプロジェクトではそれを少し修正して再利用できます

このパターンが一度身につけば、conda環境管理はもう面倒な作業ではなく、 プロジェクトをきれいに保つための頼もしい習慣になるはずです。