【Python】zshでcondaコマンドを補完する

6 min

こんにちは。ナミレリです。みなさん、M1/M2のMacでPythonは使っていますか?

以前の記事でM1やM2などのApple Siliconを搭載したMacにAnacondaやMiniforgeをインストールする方法を紹介しました。今回はAnacondaやMiniforgeで使うcondaコマンドをzshで補完する方法を紹介していきます。この記事ではconda-zsh-completionを使ってcondaコマンドを補完します。

M1やM2などのApple Siliconを搭載したMacにAnacondaをインストールする方法は下記の記事をご覧ください。

M1やM2などのApple Siliconを搭載したMacにMiniforgeをインストールする方法は下記の記事をご覧ください。

この記事はこんな人にオススメ

  • condaをもっと便利に使いたい
  • condaコマンドを補完したい
  • conda activateで仮想環境名補完したい
  • condaコマンドがなかなか覚えられない
この記事のMac環境
  • M2 MacBook Air 13.6 インチMacBook Pro 14インチ M1Max
  • macOS Ventura 13.1
  • zsh 5.8.1 (x86_64-apple-darwin22.0)
  • prezto

この記事でできるcondaコマンドの補完

下の各キャプチャのように、conda-zsh-completioncondaコマンドをtabで補完してくれます。仮想環境名やコマンドのオプションも補完してくれるので便利すぎます。

condatabで補完

conda-zsh-completionはcondaコマンド補完
conda-zsh-completioncondaコマンド補完

conda activateに続く環境名もtabで補完してくれます。

conda activateで環境名を補完

conda configに続くオプションも補完してくれます。

conda configでオプションを補完

Udemyのデータサイエンスコース

Pythonのデータサイエンスを学びたい方におすすめ!

講座買い切り型で、視聴期限なし。自分のペースで学べる。

現場で活躍されているプロが教えるコースを選べます。

事前準備

この記事の環境はzshのフレームワークであるpreztoをインストールしています。気の利くエイリアスや関数、補完が設定されていて、カッコイイプロンプトのテーマが多数入っていますのでまだの方はぜひインストールしてみてください。

下の記事をご覧ください。

conda-zsh-completionのインストール

では早速、conda-zsh-completionをインストールしましょう。といってもgitcloneするだけです。

ディレクトリは任意ですがホームディレクトリでgit gloneします。


git clone https://github.com/esc/conda-zsh-completion

現在のディレクトリにconda-zsh-completionのディレクトリがcloneされます。


tree conda-zsh-completion
conda-zsh-completion
├── LICENSE.txt
├── README.rst
├── _conda
└── conda-zsh-completion.plugin.zsh

0 directories, 4 files

以前に紹介したexaコマンドでtree表示してみます。

exaコマンドでtree表示

カラフルでオシャレな表示を行うexaコマンドについては下の記事をご覧ください。

conda-zsh-completionの設定

conda-zsh-completionの設定をします。といっても.zshrcに下記の記述を追加するだけです。


vi ~/.zshrc
fpath+=~/conda-zsh-completion
autoload -U compinit && compinit

ポイント

私の環境では、preztoの初期化の後にconda-zsh-completionの設定を追加することでうまく機能しています。


# Source Prezto.
if [[ -s "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" ]]; then
  source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh"
fi

# Customize to your needs...
# conda-zsh-completion
fpath+=~/conda-zsh-completion
autoload -U compinit && compinit

.zshrcを再読込します。


source ~/.zshrc

これでcondaコマンドの補完ができるようになります。

conda-zsh-completionのオプション

キャッシュを有効にする場合は下記を.zshrcに追加します。

zstyle ':completion::complete:*' use-cache 1

補完候補をグループ化するには下記を.zshrcに追加します。

zstyle ":conda_zsh_completion:*" use-groups true

仮想環境の候補を新しい順に表示したい場合は下記を.zshrcに追加します。

zstyle ":conda_zsh_completion:*" sort-envs-by-time true

仮想環境の候補をフルパスで表示するには下記を.zshrcに追加します。

zstyle ":conda_zsh_completion:*" show-unnamed true

注意したいこと

conda-zsh-completionの補完で補完候補の数が多いとCPUが張り付き動作が重くなりますconda infoで補完すると1万5千程度の補完候補となりフリーズしたかのようになってしまいますが、しばらく待つと補完候補を表示しますが気を付けたいですね。

次回以降はキャッシュされているので素早く補完候補が表示されます。

覚えておきたいcondaコマンド

condaには便利なたくさんのコマンドがあります。conda --helpで詳しく見ることができます。conda install --helpconda list --helpconda remove --helpのように各コマンドのヘルプも確認することができます。

ここでは最低限覚えておきたいcondaコマンドを紹介します。

conda環境の自動起動

ターミナルを起動した時にcondaの自動的をオフに設定する場合は下記のコマンドでauto_activate_basefalseに指定します。

自動起動をオフにする


conda config --set auto_activate_base false

~/.condarcに追加されたことを確認します。


cat ~/.condarc
channels:
  - conda-forge
auto_activate_base: false

condaの自動起動をオンにする場合は下記のコマンドです。

自動起動をオンにする


conda config --set auto_activate_base true

conda環境をアクティブ、非アクティブにする

conda環境をアクティブにするにはconda activateの後に環境名を指定します。環境名を指定しない場合はデフォルトのbaseという環境がアクティブになります。

base環境をアクティブにする


conda activate

アクティブにしたconda環境名がプロンプトに表示されます。

非アクティブにするにはconda deactivateです。

base環境を非アクティブにする


conda deactivate

conda環境の作成と削除

condaの仮想環境を作成するにはconda createコマンドを使います。-nオプションの後に作成する環境名を指定します。

conda環境の作成


conda create -n <環境名>

conda環境を削除するにはconda removeを使います。-nオプションの後に削除する環境名を指定し--allを付けます。

conda環境の削除


conda remove -n <環境名> --all

condaパッケージの検索

インストールしたいパッケージを検索するにはconda searchでパッケージ名を指定し検索します。Channelは先程指定したconda-forgeとなっています。

condaパッケージの検索


conda search numpy
Loading channels: done
# Name        Version           Build  Channel
numpy         1.23.5  py39hefdcf20_0  conda-forge         
numpy         1.24.0 py310h5d7c261_0  conda-forge         
numpy         1.24.0 py311ha92fb03_0  conda-forge         
numpy         1.24.0  py38h09ac2d9_0  conda-forge         
numpy         1.24.0  py39hefdcf20_0  conda-forge 

condaパッケージのインストールとアンインストール

パッケージをインストールするにはconda installでパッケージ名を指定します。

condaパッケージのインストール


conda install numpy

condaパッケージのアンインストール


conda uninstall numpy

インストール済のパッケージ一覧の表示

condaでインストールしたパッケージを表示するコマンドはconda listです。-nで仮想環境名を指定しその仮想環境でcondaでインストールしたパッケージを表示することもできます。

インストール済パッケージの一覧表示


conda list

ある仮想環境におけるインストール済パッケージの一覧表示


conda list -n <環境名>
 

conda環境の表示

conda環境詳細を表示するにはconda infoです。


conda info

condaの仮想環境の一覧を表示するにはconda info -eです。


conda info -e

Udemyのデータサイエンスコース

Pythonのデータサイエンスを学びたい方におすすめ!

講座買い切り型で、視聴期限なし。自分のペースで学べる。

現場で活躍されているプロが教えるコースを選べます。

最後に

最後まで読んでいただきありがとうございます。今回の【Python】zshでcondaコマンドを補完するはいかがでしたでしょうか。M1やM2などのApple Siliconを搭載したMacにAnacondaやMiniforgeをインストール済の方はcondaコマンドが補完されると便利になるのではないでしょうか。みなさんのMacライフを便利にしていただけたらと思います。

定番おすすめ記事

Macを使う景色が一変しMacの魅力をグッをアップさせるターミナルを活用する記事をまとめました。ぜひご覧ください。

カテゴリー:
関連記事