Pythonの開発環境をcondaで管理しているなら、まずは下記の記事を一度読んでみることをおすすめします。 * **先に読んでおきたい記事:** - [Anaconda와 Miniconda, Conda의 세계로 입문하기](/ja/whitedec/2025/4/25/intro-to-conda-anaconda-miniconda/) 以下の記事では、この内容を簡単に振り返りつつ、**実際に使うconda環境の作成・削除・複製・移行方法**を中心に整理した実践ガイドを紹介します。 --- ## Anaconda vs Miniconda 一行要約 {#sec-f6ea2ce29b75} 要約すると、次のようになります。 * **Anaconda**: データサイエンスや機械学習でよく使われるパッケージをまとめてインストールできる**オールインワンのディストリビューション** * **Miniconda**: condaの環境管理・パッケージ管理機能のみを提供し、 **必要なパッケージは開発者自身が選んでインストールするミニマルなディストリビューション** 私は**「軽く始めて、必要になったときだけパッケージを追加するスタイル」**を好むので、 できるだけ**Minicondaをインストールし、それをベースに環境を構築する方法**をおすすめします。 * ディスク使用量を抑えられる * アップデートの負担が軽くなる * プロジェクトごとに本当に必要なものだけを入れることで、**環境が散らかりにくい** といった利点があります。 --- ## conda環境の概念を手早く整理する {#sec-2c4857f0faaf} condaの「環境(environment)」とは、簡単に言えば**プロジェクトごとに分離されたPythonとパッケージのセット**です。 * `env A`: Python 3.10 + Django 4 + 特定のライブラリバージョン * `env B`: Python 3.11 + FastAPI + まったく異なるライブラリセット このように、**異なるバージョン同士が互いに干渉しないよう隔離すること**が重要です。 環境関連でよく使う基本コマンドは次のとおりです。 ```bash # 現在インストールされているconda環境の一覧を表示 conda env list # または conda info --envs ``` --- ## conda環境を作成する {#sec-27bd74c008f7} ### 3.1 最も基本的な環境の作成 {#sec-c1ceeca1774e} ```bash conda create -n myenv python=3.12 ``` * `-n myenv` : 環境名を`myenv`に指定 * `python=3.12` : Python 3.12を使用 環境を作成した後は、次のように操作します。 ```bash conda activate myenv # 環境を有効化 conda deactivate # 環境を無効化 ``` ### 3.2 作成時によく使うパッケージもまとめてインストール {#sec-c6822647b029} ```bash conda create -n myenv python=3.12 numpy pandas matplotlib ``` これにより、Minicondaの基本チャンネルからこれらのパッケージもまとめてインストールした新しい環境が作成されます。 その後は、 ```bash conda activate myenv conda install scikit-learn # または pip install requests ``` のように、必要になったタイミングでパッケージを追加していけば十分です。 --- ## conda環境を削除する {#sec-265e70c37d97} もう使わない環境は、思い切って削除してしまうのがよいでしょう。 (conda環境はかなりディスク容量を消費します。) ```bash # myenv環境を削除 conda env remove -n myenv ``` 削除後の確認: ```bash conda env list ``` `myenv`が一覧から消えていれば正常です。 --- ## conda環境を複製する(clone) {#sec-bd7c8ae30789} 実験用にいろいろインストールした環境を、 「似た構成だが名前だけが異なる環境」としてもう一つ作りたいときに便利です。 ```bash # existing-env を基に new-env という複製環境を作成 conda create -n new-env --clone existing-env ``` * パッケージのバージョンまでそのまま引き継げるため、 * 「既存環境はそのまま残して、新しい実験をしたい」ときによく使うパターンです。 複製後は、 ```bash conda activate new-env ``` として、正常に動作するか確認すれば大丈夫です。 --- ## conda環境を移行する(export / import) {#sec-53af8259bbba} 他のPCやサーバーに環境を移したいときは、 環境を**ファイルとしてエクスポート**し、そのファイルをもとに新しい環境を作成する方法がもっとも一般的です。 ### 6.1 環境をエクスポートする(export)— YAMLファイルを作成 {#sec-672b96fcc534} ```bash # myenv環境を env.yml ファイルにエクスポート conda env export -n myenv > env.yml ``` この`env.yml`ファイルには、 * 環境名 * 使用中のチャンネル情報 * インストールされているパッケージとバージョン が記録されます。 #### ヒストリーベースの最小構成だけをエクスポートしたい場合 依存関係まで含まれたフルリストではなく、 「自分が直接インストールしたパッケージだけ」を記録したい場合は、次のようにします。 ```bash conda env export -n myenv --from-history > env-min.yml ``` この形で作成しておけば、他の環境で`create`するときに、 必要な依存関係は再びcondaが自動的に解決してくれます。 ### 6.2 他の場所(または同じマシン)で環境を作成する {#sec-138d4085205b} 他のPC、サーバー、または同じマシン上の別の場所で、次のように実行します。 ```bash conda env create -f env.yml ``` これで、`env.yml`に定義された名前とパッケージ構成に基づいて環境が作成されます。 * `env.yml`内に`name: myenv`と書かれていれば、その名前で作成される * 名前を変えたい場合は、`env.yml`ファイルの`name:`部分を直接修正してから実行する たとえば、`env.yml`の`name: myenv`を`name: myenv-dev`に変更したあとで、 ```bash conda env create -f env.yml conda activate myenv-dev ``` とすれば、同じ構成の環境を名前だけ変えて作成できます。 --- ## よく使うcondaパターン整理 {#sec-859e05beaf81} Minicondaをベースに環境を構築する際によく使う、便利なパターンを整理してみます。 1. **プロジェクトごとに環境を一つずつ作る** * `proj-a-env`、`proj-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環境画像](/media/whitedec/blog_img/python-conda-env-concept.webp "python conda環境画像") ## まとめ: 軽く始めて、必要なときに拡張する {#sec-1c1e2033c39d} 整理すると、選択肢はシンプルです。 * **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環境管理はもう面倒な作業ではなく、 **プロジェクトをきれいに保つための頼もしい習慣**になるはずです。