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.ymlname: myenvname: myenv-devに変更した後:

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

すれば、同じ構成を名称だけ変えて持ってくることができます。


7. よく使うcondaパターン整理

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

  1. プロジェクトごとに環境を一つずつ

    • proj-a-envproj-b-envのようにプロジェクト名を基に環境名を冠する

    • 互いに衝突せず、バージョン管理が容易になります。

  2. 環境は最小インストール後、必要な時にのみ拡張

    • 最初はpython + いくつかの基本パッケージだけをインストール

    • 開発中に必要なときにconda installまたはpip installで拡張
      → これがMinicondaのミニマル哲学にぴったりです。

  3. 重要な環境は定期的にエクスポート

    • リリース時、配布前に:

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

    • このファイルをリポジトリにコミットしておくと、
      同じ環境をチームメンバーが簡単に再現できます。

  4. 大規模な変更の前には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環境管理はもう面倒なことではなく、
「プロジェクトをきれいに保つための頼もしい習慣」となるでしょう。