こんにちは。ナミレリです。みなさん、MacでPythonは使っていますか?
M1やM2などのApple Siliconを搭載したMacでシンプルで使いやすいPython環境の構築方法はいくつかありますが、私はpyenv+condaを使った構築をおすすめします。
今回はそのcondaの良く使うコマンドを実際に試しながら紹介していきます。。

この記事はこんな人にオススメ
- condaのコマンドオプションを知りたい
- condaで出来ることを知りたい
- condaを便利にもっと使いこなしたい
pyenvのよく使うコマンドついては下の記事でまとめていますのでぜひご覧ください。
- M2 MacBook Air 13.6 インチ(メモリ16GB)
- M1 Max MacBook Pro 14インチ(メモリ32GB)
- macOS Ventura 13.1
- pyenv 2.3.9

目次
Mambaについて
mambaは、condaの高速な代替として開発されたパッケージマネージャーです。C++で実装されておりcondaのパッケージリポジトリと完全に互換性があります。
より高速にパッケージ管理を行いたい方、CPUやメモリなどのリソースに制限がある環境で作業している方に特におすすめです。使い方は、普段のcondaコマンドをmambaコマンドに置き換えるだけです。オプションなども一緒です。
mambaのインストール方法
conda install -c conda-forge mamba
はじめに
condaコマンドはパッケージのインストールや、仮想環境の作成・切り替えなどの多くのコマンドが用意されています。
condaのコマンドのできることはPython Japanの下記サイトにわかりやすく書かれています。
またcondaコマンドのリファレンスはdocs.conda.ioの下記サイトが参考になります。
この記事では、上記サイトやconda --helpを参考にして各コマンド実際に試しながらわかりやすく紹介したいと思います。
condaのアンインストール
まずは、安全にcondaアンインストールする方法を紹介します。リセットし再インストールしたい場合に参考にしてください。
conda init --reverse --dry-run
conda init --reverse
CONDA_BASE_ENVIRONMENT=$(conda info --base)
echo ${CONDA_BASE_ENVIRONMENT}
/Users/user/.pyenv/versions/miniforge3-4.10.3-10
rm -rf ${CONDA_BASE_ENVIRONMENT}
rm -f "${HOME}/.condarc"
rm ~/.pyenv/version
vi ~/.zshrc
# .zshrcのcondaの部分を削除します。
# >>> conda initialize >>>
# ↑↓これに囲まれた行を削除します
# <<< conda initialize <<<
こちらもcondaについての記事です。
conda コマンド一覧
まずはアルファベット順にcondaコマンドの簡単な説明を記載します。
command | 説明 |
---|---|
conda clean | 未使用のパッケージとキャッシュを削除する。 |
conda compare | conda仮想環境同士の('environment.yml')などを比較する。 |
conda config | 設定ファイルである.condarcの設定値を変更する。 |
conda create | 新しいconda仮想環境を作成する。 |
conda info | 現在アクティブな仮想環境の情報を表示する。 |
conda init | condaを初期化する。 |
conda install | パッケージを指定したconda仮想環境にインストールする。 |
conda list | conda仮想環境にインストールされているパッケージを一覧表示する。 |
conda remove conda uninstall | 指定したconda仮想環境からパッケージを削除する。 |
conda rename | 既存のconda仮想環境の名前を変更する。 |
conda run | conda仮想環境で実行可能ファイルを実行する。 |
conda search | パッケージを検索して表示する。 |
conda update conda upgrade | condaのパッケージを最新バージョンに更新する。 |
conda notices | 最新のチャネル通知を取得する。 |
それでは以下に1つずつcondaコマンドを試しながら紹介していきます。
conda clean
conda cleanは未使用のパッケージとキャッシュを削除します。
conda cleanの使い方です。
conda cleanの使い方
conda clean [-h] [-a] [-i] [-p] [-t] [-f] [-c [TEMPFILES ...]] [-l]
[-d] [--json] [-q] [-v] [-y]
まずは-dオプションでdry-runで試してみましょう。-dオプションは予行演習なので実際にcleanにはしません。
まずはdry-runで予行演習
conda clean --all -d
Will remove 209 (405.6 MB) tarball(s).
Will remove 1 index cache(s).
Will remove 34 (60.2 MB) package(s).
There are no tempfile(s) to remove.
There are no logfile(s) to remove.
DryRunExit: Dry run. Exiting.
では実際にcleanしてみましょう。確認メッセージが表示されるので安心です。
実際にcleanします。
conda clean --all
Will remove 209 (405.6 MB) tarball(s).
Proceed ([y]/n)? y
Will remove 1 index cache(s).
Proceed ([y]/n)? y
Will remove 34 (60.2 MB) package(s).
Proceed ([y]/n)? y
There are no tempfile(s) to remove.
There are no logfile(s) to remove.
209個405.6MBのtarballと、1個のキャッシュ、34個60.2MBの古いパッケージが削除することができました。
conda compare
conda compareの使い方です。coda compareはconda仮想環境同士の環境を比較することができます。
conda compareの使い方
conda compare [-h] [--json] [-v] [-q] [-n ENVIRONMENT | -p PATH] file
例えば、envAとenvBというconda仮想環境があったとして、インストールしたcondaパッケージやpipの違いを確認できます。
まずはenvBの情報をymlで書き出します。
conda env export -n envB > envB.yml
envAをアクティブにして、envB.ymlと比較するには下のようにします。
conda activate envA
conda compare envB.yml
envAをアクティブにしなくても下のようにconda環境名で指定して比較することもできます。
conda compare -n envA envB.yml
環境が同じ場合は下のメッセージが表示されます。
conda compare -n envA envB.yml
Success. All the packages in the specification file are present in the environment with matching version and build string.
こんな風に環境を比較した時に便利です。
conda config
conda configの使い方です。coda configは設定ファイルである.condarcの設定値を変更して各種の設定を確認、変更できます。
conda configの使い方
conda config [-h] [--json] [-v] [-q] [--system | --env | --file FILE]
[--show [SHOW ...] | --show-sources | --validate |
--describe [DESCRIBE ...] | --write-default]
[--get [KEY ...] | --append KEY VALUE | --prepend KEY
VALUE | --set KEY VALUE | --remove KEY VALUE |
--remove-key KEY | --stdin]
conda configも多数のオプションがありよく使うものを紹介します。
現在の設定を確認するには下のようにします。
--showで設定を確認する
conda config --show
channelsの値は下のように確認できます。
--show-sourcesで設定値を確認する
conda config --show-sources
channelsを追加するには下のようにします。(highest priorityとして追加されます)
channelを追加する
conda config --add channels CHANNELNAME
channelsを削除するには下のようにします。
channelを削除する
conda config --remove channels CHANNELNAME
設定されたchannelsの一覧を表示し確認するには下のようにします。
channelsを一覧表示
conda config --get channels
conda configでチャンネルを操作する
では、biocondaというチャンネルを追加し、優先度を変更したり、削除したり試してみます。
biocondaを使うと生物医学研究に関する何千ものパッケージをインストールすることができますが、普段は使わないので試したら削除します。
まずは現在設定されているchannelsを確認します。lowest priorityとしてconda-forgeが登録されています。
conda config --get channels
--add channels 'conda-forge' # lowest priority
では、biocondaチャンネルを追加してみます。
conda config --add channels bioconda
biocondaがchannelsに追加されたか確認します。ポイントは--add channelsで追加したのでhighest priorityになっている点です。
conda config --get channels
--add channels 'conda-forge' # lowest priority
--add channels 'bioconda' # highest priority
追加したbiocondaをchannelsから削除してみます。
conda config --remove channels bioconda
conda config --get channels
--add channels 'conda-forge' # lowest priority
# biocondaは削除されましたね
今度は、--append channelsを使って優先度の低い状態で追加してみます。一番後ろに追加するので優先度が低い、というイメージです。
conda config --append channels bioconda
conda config --get channels
--add channels 'bioconda' # lowest priority
--add channels 'conda-forge' # highest priority
最後にbiocondaをchannelsから削除しておきます。
conda config --remove channels bioconda
conda config --get channels
--add channels 'conda-forge' # lowest priority
# biocondaは削除されましたね
conda create
conda createの使い方です。coda createは新しいconda仮想環境を作成します。
conda createの使い方
conda create [-h] [--clone ENV] (-n ENVIRONMENT | -p PATH) [-c CHANNEL]
[--use-local] [--override-channels]
[--repodata-fn REPODATA_FNS] [--strict-channel-priority]
[--no-channel-priority] [--no-deps | --only-deps]
[--no-pin] [--copy] [-C] [-k] [--offline] [-d] [--json]
[-q] [-v] [-y] [--download-only] [--show-channel-urls]
[--file FILE] [--no-default-packages]
[--solver {classic} | --experimental-solver {classic}]
[--dev]
[package_spec ...]
coda createも多数のオプションがありますが-n ENVIRONMENTと--clone ENVのオプションは良く使うので覚えておくとよいと思います。
それではconda createで仮想環境を作ってみます。下の例ではenvAとenvBというconda仮想環境を作成します。
仮想環境の作成
conda create -n envA
conda create -n envB
この時、下のようにパッケージを指定することで仮想環境作成と当時にパッケージをインストールできます。
同時にパッケージをインストール
conda create -n envA numpy "libblas=*=*accelerate"
conda create -n envB pandas
また、--cloneを使うと簡単に仮想環境のコピーを作ることができます。下の例ではenvCをenvBのクローンとして作成します。
conda create -n envC --clone envB
Source: /Users/u/.pyenv/versions/miniforge3-22.9.0-2/envs/envB
Destination: /Users/u/.pyenv/versions/miniforge3-22.9.0-2/envs/envC
Packages: 127
Files: 0
便利な方法として、exportしたインストール済のパッケージ一覧から新しい環境を作ることもできます。
conda list --export > package-list.txt
conda create -n envD --file package-list.txt
conda info
conda infoの使い方です。coda infoは現在アクティブな仮想環境の情報を表示します。
conda infoの使い方
conda info [-h] [--json] [-v] [-q] [-a] [--base] [-e] [-s]
[--unsafe-channels]
-aまたは--allで、現在アクティブな仮想環境の全ての情報を表示します。
conda info --all
(略)
sys.version: 3.10.6 | packaged by conda-forge | (main...
sys.prefix: /Users/u/.pyenv/versions/miniforge3-22.9.0-2
sys.executable: /Users/u/.pyenv/versions/miniforge3-22.9.0-2/bin/python
(略)
CIO_TEST: <not set>
CONDA_DEFAULT_ENV: base
CONDA_EXE: /Users/u/.pyenv/versions/miniforge3-22.9.0-2/bin/conda
CONDA_PREFIX: /Users/u/.pyenv/versions/miniforge3-22.9.0-2
CONDA_PROMPT_MODIFIER: (base)
CONDA_PYTHON_EXE: /Users/u/.pyenv/versions/miniforge3-22.9.0-2/bin/python
CONDA_ROOT: /Users/u/.pyenv/versions/miniforge3-22.9.0-2
CONDA_SHLVL: 1
CURL_CA_BUNDLE: <not set>
LD_PRELOAD: <not set>
(略)
-eまたは--envsで全ての仮想環境をリストで表示します。
conda info -e
base * /Users/u/.pyenv/versions/miniforge3-22.9.0-2
envA /Users/u/.pyenv/versions/miniforge3-22.9.0-2/envs/envA
envB /Users/u/.pyenv/versions/miniforge3-22.9.0-2/envs/envB
envC /Users/u/.pyenv/versions/miniforge3-22.9.0-2/envs/envC
conda init
conda initの使い方です。coda initはShellで有効になるようにcondaを初期化します。
conda initの使い方
conda init [-h] [--all] [--user] [--no-user] [--system] [--reverse]
[--json] [-v] [-q] [-d]
[SHELLS ...]
例えば、お使いのShellで有効にするためにはconda init [SHELL]を実行します。指定可能なSHELLは’bash‘, ‘fish‘, ‘powershell‘, ‘tcsh‘, ‘xonsh‘, ‘zsh‘です。[SHELL]を指定しない場合は、デフォルトではbashとなります。
conda initはShellの設定ファイルにスクリプトを追加しますので、まずは-dで予行演習することをおすすめします。-dまたは--dry-runで予行演習できます。
zshの場合は下のようにします。
conda init zsh -d
問題なければ下のようにconda init zshします。これにより~/.zshrcに初期化スクリプトが追加されます。
conda init zsh
--allオプションは利用可能な全てのShellを初期化します。-dで予行演習してみます。
conda init -d --all
また、 --systemで全てのユーザーに対してconda initを行うことができます。こちらも-dで予行演習してから実行することをおすすめします。
conda init zsh --system -d
conda install
conda installの使い方です。coda installはパッケージを指定したconda仮想環境にインストールします。もっとも良く使うコマンドではないでしょうか。
conda installの使い方
conda install [-h] [--revision REVISION] [-n ENVIRONMENT | -p PATH]
[-c CHANNEL] [--use-local] [--override-channels]
[--repodata-fn REPODATA_FNS] [--strict-channel-priority]
[--no-channel-priority] [--no-deps | --only-deps] [--no-pin]
[--copy] [-C] [-k] [--offline] [-d] [--json] [-q] [-v] [-y]
[--download-only] [--show-channel-urls] [--file FILE]
[--solver {classic} | --experimental-solver {classic}]
[--force-reinstall]
[--freeze-installed | --update-deps | -S | --update-all | --update-specs]
[-m] [--clobber] [--dev]
[package_spec ...]
coda installも多数のオプションがあります。-n ENVIRONMENTのオプションとバージョン指定の方法は良く使うので覚えておくとよいと思います。
conda installも-dでドライランすることができ何が起こるか確認することができます。-dまたは--dry-runで確認することをおすすめします。
まずは最も基本的な使い方として、現在アクティブな環境にnumpyとpandasをインストールするには下のようにします。この時、複数のパッケージを指定することができます。
最も一般的なパッケージインストール方法
conda install numpy pandas
また、-n ENVIRONMENTで仮想環境を指定してインストールすることもできます。
仮想環境にパッケージをインストールする
conda install -n envA numpy pandas
パッケージのバージョンを指定してインストールすることもできます。指定しない場合は最新版がインストールされます。[package]==[version]で指定します。
バージョンを指定したインストール方法
conda install numpy==1.23.5 pandas
なお、-cまたは --channelでチャンネルを指定することができます。
conda list
conda listの使い方です。coda listは仮想環境にインストールされているパッケージを一覧表示します。
conda listの使い方
conda list [-h] [-n ENVIRONMENT | -p PATH] [--json] [-v] [-q]
[--show-channel-urls] [-c] [-f] [--explicit]
[--md5] [-e] [-r] [--no-pip]
[regex]
coda listも多数のオプションがあります。-n ENVIRONMENTのオプションと-rオプション、--exportオプションは便利に使えるので覚えておくとよいと思います。
インストール済パッケージを表示する
conda list -n envC
-rまたは--revisionsでリビジョン履歴を表示することもできます。
リビジョン履歴を表示する
conda list -n envC -r
2023-01-12 16:08:17 (rev 0)
+anyio-3.6.2 (conda-forge/noarch)
+appnope-0.1.3 (conda-forge/noarch)
+argon2-cffi-21.3.0 (conda-forge/noarch)
+argon2-cffi-bindings-21.2.0 (conda-forge/osx-arm64)
+asttokens-2.2.1 (conda-forge/noarch)
(略)
便利な方法として、exportしたインストール済のパッケージ一覧から新しい環境を作ることもできます。
conda list -n envC --export > package-list.txt
conda create -n envD --file package-list.txt
conda remove
conda removeの使い方です。coda removeは指定したconda仮想環境からパッケージを削除します。conda uninstallでも同じ動作となります。パッケージをアンインストールするときに使います。
conda removeの使い方
usage: conda remove [-h] [-n ENVIRONMENT | -p PATH] [-c CHANNEL] [--use-local]
[--override-channels] [--repodata-fn REPODATA_FNS] [--all]
[--features] [--force-remove] [--no-pin]
[--solver {classic} | --experimental-solver {classic}]
[-C] [-k] [--offline] [-d] [--json] [-q] [-v] [-y] [--dev]
[package_name ...]
coda removeも多数のオプションがあります。-n ENVIRONMENTのオプションは良く使うので覚えておくとよいと思います。
conda removeも-dでドライランすることができ何が起こるか確認することができます。アンインストール前に-dまたは--dry-runで確認することをおすすめします。
まずは最も基本的な使い方として、現在アクティブな環境のnumpyとpandasをアンインストールするには下のようにします。この時、複数のパッケージを指定することができます。
まずは、-dまたは--dry-runで確認してみます。
アンインストールをドライラン
conda remove numpy pandas -d
Collecting package metadata (repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /Users/u/.pyenv/versions/miniforge3-22.9.0-2/envs/envC
removed specs:
- numpy
- pandas
The following packages will be REMOVED:
numpy-1.24.1-py311ha92fb03_0
pandas-1.5.2-py311h4eec4a9_2
DryRunExit: Dry run. Exiting.
実際にアンインストールします。
最も一般的なアンインストール方法
conda remove numpy pandas
また、-n ENVIRONMENTで仮想環境を指定してインストールすることもできます。
仮想環境を指定したアンインストール方法
conda remove -n envA numpy pandas
指定した仮想環境を全て削除する
conda remove -n envA --all
conda rename
conda renameの使い方です。coda renameはconda仮想環境の名前を変更することができます。注意点としてbase環境と現在アクティブな仮想環境の名前は変更できません。
conda renameの使い方
conda rename [-h] [-n ENVIRONMENT | -p PATH]
[--force] [-d] destination
base環境の名前を変更しようとすると下のようなエラーとなります。-dまたは--dry-runで確認してみます。
conda rename -n base test -d
CondaEnvException: The 'base' environment cannot be renamed
また、アクティブな仮想環境の名前を変更しようとすると下のようなエラーとなります。-dまたは--dry-runで確認してみます。
conda rename -n envC test -d
CondaEnvException: Cannot rename the active environment
では、仮想環境envCをenvEに名前変更してみます。
conda rename -n envC envE
Source: /Users/u/.pyenv/versions/miniforge3-22.9.0-2/envs/envC
Destination: /Users/u/.pyenv/versions/miniforge3-22.9.0-2/envs/envE
Packages: 127
Files: 0
Downloading and Extracting Packages
Downloading and Extracting Packages
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
無事に仮想環境の名前変更ができました。
conda run
conda runの使い方です。coda runは指定した仮想環境で実行可能なファイルを実行することができます。
conda runの使い方
conda run [-h] [-n ENVIRONMENT | -p PATH] [-v] [--dev]
[--debug-wrapper-scripts] [--cwd CWD] [--no-capture-output]
...
例えば、別の仮想環境のpythonを実行するには下のようにします。
別の仮想環境のpythonを実行
conda run -n envE python --version
Python 3.11.0
conda search
conda searchの使い方です。coda searchでパッケージを検索することができます。
conda searchの使い方
conda search [-h] [--envs] [-i] [--subdir SUBDIR] [-c CHANNEL]
[--use-local] [--override-channels]
[--repodata-fn REPODATA_FNS] [-C] [-k]
[--offline] [--json] [-v] [-q]
まずは普通に検索してみます。numpyを検索します。conda-forgeにはnumpy1.24.1であればpython3.8〜3.11までのビルドが検索されました。
conda search numpy
Loading channels: done
# Name Version Build Channel
(略)
numpy 1.24.1 py310h5d7c261_0 conda-forge
numpy 1.24.1 py311ha92fb03_0 conda-forge
numpy 1.24.1 py38h09ac2d9_0 conda-forge
numpy 1.24.1 py39hefdcf20_0 conda-forge
-iまたは--infoオプションはより詳しい情報を出力してくれます。
-iを指定して検索
conda search numpy -i
(略)
numpy 1.24.1 py39hefdcf20_0
---------------------------
file name : numpy-1.24.1-py39hefdcf20_0.conda
name : numpy
version : 1.24.1
build : py39hefdcf20_0
build number: 0
size : 5.1 MB
license : BSD-3-Clause
subdir : osx-arm64
url : https://conda.anaconda.org/conda-forge/osx-arm64/numpy-1.24.1-py39hefdcf20_0.conda
md5 : 9b97f70dacd20da049d2a02efe74c1ae
timestamp : 2022-12-30 16:04:32 UTC
constraints :
- numpy-base <0a0
dependencies:
- libblas >=3.9.0,<4.0a0
- libcblas >=3.9.0,<4.0a0
- libcxx >=14.0.6
- liblapack >=3.9.0,<4.0a0
- python >=3.9,<3.10.0a0
- python >=3.9,<3.10.0a0 *_cpython
- python_abi 3.9.* *_cp39
--subdirでプラットフォームを指定して検索することもできます。デフォルトでは使っているプラットフォームで検索されます。linux-64、osx-64、win-64などを指定します。
プラットフォームを指定して検索
conda search numpy --subdir=linux-64
パッケージバージョンを指定したり検索にワイルドカードも使うこともできます。
バージョンを指定して検索
conda search 'numpy>=1.12'
ワイルドカードで検索
conda search 'scikit*'
conda update
conda updateの使い方です。coda updateはパッケージを最新バージョンにアップデートします。
conda updateの使い方
conda update [-h] [-n ENVIRONMENT | -p PATH] [-c CHANNEL] [--use-local]
[--override-channels] [--repodata-fn REPODATA_FNS]
[--strict-channel-priority] [--no-channel-priority]
[--no-deps | --only-deps] [--no-pin] [--copy] [-C] [-k]
[--offline] [-d] [--json] [-q] [-v] [-y] [--download-only]
[--show-channel-urls] [--file FILE]
[--solver {classic} | --experimental-solver {classic}]
[--force-reinstall]
[--freeze-installed | --update-deps | -S | --update-all | --update-specs]
[--clobber]
[package_spec ...]
conda updateも多数のオプションがありますが、これまでのコマンドと同じように-n ENVIRONMENT、-c CHANNEL、--dry-run、--allをまずは覚えておきたいです。
numpyをアップデートするには下のようにします。
conda update numpy
仮想環境を指定してnumpyをアップデートするには下のようにします。下の例ではenvEという仮想環境名。
conda update -n envE numpy
指定した仮想環境の全てのパッケージをアップデートするには下のようにします。
conda update -n envE --all
ドライランで現在の仮想環境の全てのパッケージをアップデートするには下のようにします。
conda update conda -d
Collecting package metadata (current_repodata.json): done
Solving environment: done
# All requested packages already installed.
-c CHANNELでチャンネルを指定したり、--dry-runでドライランも可能です。
最後に
最後まで読んでいただきありがとうございます。今回の【Python】condaのよく使うコマンドの使い方はいかがでしたでしょうか。condaのコマンドはたくさんありますが普段なかなか使わないコマンドも多いのではないでしょうか。この記事であらたなコマンドの発見に繋がれば幸いです。みなさんのMacライフを便利にしていただけたらと思います。

\無料相談もできます/
・現役エンジニアから学べるオンラインに特化したプログラミングスクール。
・講師は全員、通過率10%の選考に合格した現役エンジニア。
・確かなスキルをもとにマンツーマンサポート。
・900社、30,000名を超える教育実績
※受講料最大70%支給
・AI(人工知能)の構築に必要な機械学習・ディープラーニングを習得。
・1人では続かない方のためのパーソナルメンターがつく学習プログラム。
・Pythonのライブラリを使い、機械学習の応用までを実践的に学ぶことができます。
・人工知能を実践的に理解したい方
・時間と場所にとらわれない働き方をしたい方
・機械学習ライブラリを使い実装を行いたい方
・機械学習を用いて起業したい方
・回帰モデルの作成:プロ野球選手の年俸を予測(教師あり学習)
・Amazonレビューを評価分析:対象商品の評価を判定(自然言語処理)
・手書き数字の画像認識:手書き数字を画像認識する(深層学習)
・オリジナルのAIの構築:公開されているデータセットを使って構築する
・Python
・scikit-learn
・TensorFlow
・Pandas
・Keras
\無料相談もできます/
MacやLinux、Pythonなど技術系のkindle本も豊富にあります。詳しくはこちらから。
Amazonの電子書籍読み放題サービス「Kindle Unlimited」でプライム会員を対象に、最初の3か月間を無料体験できるキャンペーンを実施中。マンガ、小説、ビジネス書、雑誌など500万冊から、好きな本を何冊でも読めるキャンペーンです。
初めてkindle unlimited 読み放題をご利用の方は30日間の無料で体験できます。
期間終了後は月額980円で、いつでもキャンセルできます。
200万冊以上が読み放題。お好きな端末で利用可能です。
