Pythonを使う方で、Anacondaを使う方は多いのではないでしょうか?
Anacondaとは、データサイエンス用のPythonパッケージをまとめたPythonディストリビューションです。Anacondaをインストールすると、「Python本体」+ 「データ分析に必要なパッケージ」がインストールされるので、面倒な環境構築を行う手間が省けます!
Anacondaをインストールするとcondaコマンドが使えるようになります。このcondaコマンドを使うとことで、パッケージのインストールや仮想環境の構築ができるようになり、とても便利です。
とても便利なcondaコマンドですが、色々なことができるが故に、使い方を全てを覚えるのがとても大変です。
そこで今回は、結構頻繁につかう(と個人的に思っている)condaコマンドを紹介していきたいと思いますので、辞書代わりに見てください!
Anacondaとは?
Anacondaとは一体何か?
Anacondaとは、データサイエンス用のPythonパッケージをまとめたPythonディストリビューションです。
Anacondaをインストールすると、「Python本体」+ 「データ分析に必要なパッケージ」がインストールされます。
Pythonでデー タ分析系の環境を構築するとなると 、いろいろなライブラリをインストールする必要がありますが、 Anacondaを使用するとこういった手間が省けます。
Anacondaインストールするとcondaコマンドが使えるようになる!
Anacondaをインストールすると、condaというパッケージ管理及び環境管理システムが使えるようになります。condaって何?をもっと詳しく正確に知りたい方は公式情報( https://conda.io/docs/ )を見てください。
condaというシステムが使えるようになると、condaコマンドが使えるようになります。このcondaコマンドがとても便利で、condaコマンドを使用すると パッケージの検索・追加・削除、仮想環境の構築が行えるようになります。
Anacondaとcondaのアップデート
Anacondaやcondaのバージョン確認
バージョンや諸々の設定を確認するには以下のコマンドを実行します。
conda info
Anacond本体をアップデート
Anaconda自体をアップデートするには以下のコマンドを実行します。
conda update -n base conda
パッケージの管理
パッケージをインストール
パッケージをインストールしたい場合はconda install <パッケージ名>を実行します。
今の環境とは別の仮想環境にインストールしたい場合は「–name」または、「-n」オプションを使います。例えば、今いる環境は「base」だけれども、仮想環境「test_env」にパッケージをインストールしたい場合などです。
conda install beautifulsoup4
#仮想環境名(以下の例ではtest_env)を指定してインストールする場合。
conda install beautifulsoup4 --name test_env
#--nameは-nでもOK
conda install beautifulsou4 -n test_env
バージョンを指定してパッケージをインストール
パッケージのバージョンを指定してインストールしたい場合は以下のようにします。色々な指定方法があるので試してみてください。バージョンの指定方法はこの記事の一番下に詳細を記載しましたので御覧ください。
#特定のバーション指定してインストール。4.9.0がインストールされる
conda install beautifulsoup4 == 4.9
#特定のバージョンを指定するが曖昧な指定(Fuzzy)。4.9.0、4.9.1、4.9.2・・・のいずれかがインストールされる
conda install beautifulsoup4 = 4.9
#バージョンの範囲を指定してインストール。4.8.0より上で4.9.1未満のバージョン。
conda install "beautifulsoup4>4.8.0, <4.9.1"
#どちらかのバージョンをインストール。4.9.1か4.9.3をインストール
conda install "beautifulsoup4 4.9.1|4.9.3"
パッケージのアンイストール
パケージをアンイストールしたい場合は以下ように、conda remove <チャネル名>を実行します。パッケージのインストールと同様に、仮想環境を明示的に指定するために「–name」、「-n」オプションも使えます。
#conda remove beautifulsoup4
#仮想環境名(以下の例ではtest_env)を指定してアンインストールする場合。
conda remove beautifulsoup4 --name test_env
#--nameは-nでもOK
conda remove beautifulsou4 -n test_env
パッケージレポジトリ(チャンネル)の登録と削除
condaの公式リポジトリ(「defaults」チャンネル)以外の場所からパッケージをインストールしたい場合は「–channel」オブション、または「-c」使用します。例えば、conda-forge というチャンネルからbeautifulsoup4をインストールしたい場合は以下のようにします。
conda install beautifulsoup4 --channel conda-forge
#または以下のようにしてもOK
conda install conda-forge::beautifulsoup4
conda-forgeと毎回打つのが面倒なときは、デフォルトで公式レポジトリ以外にもconda-forgeも探しに行くようにconda config –add channels <チャネル名>を使って、自分の環境にチャンネルを追加しましょう。例えばconda-forgeを追加するには以下のようにします。
conda config --add channels conda-forge
追加設定したレポジトリを削除したい場合は「–remove 」オプションを使います。
conda config --remove channels conda-forge
登録済のチャンネルを確認したい場合は、「–show-sources」オプションを使います。以下のコマンドを実行すると、登録済のチャンネルが確認できます。「-add channels」をやって確認してみてください。
conda config --show-sources
インストール済パッケージ確認
インストール済のパッケージの一覧を表示するには以下のようにconda listを実行します。
conda list
#仮想環境名(以下の例ではtest_env)を指定する場合
conda list --name test_env
#-nオプションを使ってもOK
conda list -name test_env
パッケージの検索
パッケージ検索を行うには以下のようにconda search <パッケージ名>を実行します。パッケージの検索でも、チャネルの指定やバージョン指定をすることもできます。
conda search beautifulsoup4
#バージョン範囲を指定して検索
conda search "beautifulsoup4 [version='>=4.7.1,<4.9.1']"
#チャンネル(レポジトリ)を指定して検索
conda search -c conda-forge beautifulsoup4
#チャンネル(レポジトリ)を指定して検索するにはこっちでもOK
conda search conda-forge::beautifulsoup4
パッケージの詳細を知りたい場合は、「–info」または「-i」オプションを足しましょう
conda search beautifulsoup4 --info
# --infoは-iでもOK
conda search beautifulsou4 -i
上の例では、登録済のレポジトリ(チャンネル)にパッケージがあるか探しています。登録していない、その他の色々なレポジトリからパッケージを探したい場合は、anaconda search <パッケージ名>を実行します。
anaconda search beautifulsoup4
パッケージのアップデート
パッケージのアップデートを行うには、conda update <パッケージ名>を実行します。
conda update beautifulsoup4
#仮想環境(=test_env)を指定してアップデート
conda update --name test_env beautifulsoup4
#--nameを-nとしてもOK
conda update -n test_env beautifulsoup4
今いる仮想環境のパッケージ全てをアップデートしたい場合は、以下のようにします。
conda update --all
#仮想環境(=test_env)を指定してアップデート
conda update --name test_env --all
#--nameを-nとしてもOK
conda update -n test_env --all
仮想環境の構築と設定
仮想環境の構築
Anacondaで 仮想環境を構築する場合は、conda create –name <仮想環境名>を実行します。 ”–name”は”-n”としてもOKです。
「test_env」という名前の仮想環境を作りたい場合は以下のコマンドを実行します。
conda create --name test_env
#--nameは-nでもOK
conda create -n test_env
仮想環境を作るときに、特定のパッケージのバージョンを固定したい場合があります。例えば、pythonは3.7.0を指定し、anacondaパッケージは5.3.1、seabornは0.9.0と指定したい場合は、以下のようにします。
conda create -n test_env python==3.7 anaconda==5.3.1 seaborn==0.9.0
あるパッケージのバージョンは〜以上のバージョンと指定したい場合は、不等号(<,<=, >, >=)を使います。例えば、beautifulsoup4のバージョンは4.9以上としたいという場合は、以下のようにします。
注意点として、不等号が入る場合は、クオテーション、または、ダブルクオテーションで囲む必要があります。
conda create -n test_env python==3.6 "beautifulsoup4>4.9" seaborn=0.10.0
仮想環境の切り替え
作成した仮想環境をアクティベートしたい場合は、conda activate <仮想環境名>を実行します。例えば、test_envを有効化したい場合は以下のようにします。
conda activate test_env
仮想環境から抜ける場合はconda deactivateを実行します。
conda deactivate
仮想環境の一覧を表示したい場合は以下のコマンドを実行します。”–env”は”-e”としてもOKです。
conda info --envs
#--envsは-eでもOK
conda info -e
または、以下のようにしてもOKです。
conda-env list
仮想環境の削除
仮想環境を削除したい場合は、conda remove –name <仮想環境名>を実行します。
例えば「test_env」という名の仮想環境を削除したい場合は、以下のコマンドを実行します。
conda remove -n test_env --all
仮想環境の複製(クローン)
仮想環境を複製したい場合は、conda create –clone <仮想環境名> –name <クローン先の環境名>とします
「test_env」という仮想環境を複製して、仮想環境名を「test_env2」としたい場合は以下のコマンドを実行します。
conda create --clone test_env --name test_env2
仮想環境のエクスポート
仮想環境をエクスポートするには conda env export <ファイル名>を実行します。
conda env export > test_env.yaml
#仮想環境名を指定してエクスポートしたい場合
conda env export --name test_env > test_env.yaml
エクスポートしたファイルをもとに仮想環境を構築する場合は以下のようにします。以下の例では、test_env.yamlをもとに仮想環境を構築します。
ファイルをもとに仮想環境を構築
エクスポートしたファイルを使って仮想環境を構築するには、conda env create –file <ファイル名>を実行します。
conda env create --file test_env.yaml
#--fileは-fでもOK
conda env create -f test_env.yaml
インストール済のパッケージリストをエクスポート
インストール済のパッケージのエクスポートを行うには、conda list –export > <ファイル名>を実行します。これは、同じパッケージを使って新たな仮想環境を構築したいときに使います。上の仮想環境のエクスポートと似ていますね。
conda list --export > package_list.txt
#仮想環境名を指定したい場合
conda list --name test_env --export > package_list.txt
#--nameは-nとしてもOK
conda list -n test_env --export > package_list.txt
同様のことは、conda list –explicit > <ファイル名>でもできます。
conda list --explicit > package_list.txt
#仮想環境名を指定したい場合
conda list --name test_env --explicit > package_list.txt
#--nameは-nとしてもOK
conda list -n test_env --explicit > package_list.txt
「–export」と「–explicit」の違いは、「–export」を使った場合はパッケージ名のみが出力されていますが、「–explicit」を使うと、ダウンロード元とパッケージ名が出力されます。
#--exportを使った場合
numpy=1.20.2=py38had91d27_0
#--explicitを使った場合
![]()
https://conda.anaconda.org/conda-forge/osx-64/numpy-1.20.2-py38had91d27_0.tar.bz2
パッケージリストを元に仮想環境を構築
パッケージリストを元に仮想環境を構築するには、conda create –name <仮想環境名> –file <ファイル名>を実行します。
例えば「package_list.txt」をつかって、「test_env」というか仮想環境を構築したい場合は以下のようにします。
conda create --name test_env --file package_list.txt
#--fileは-fでもOK
conda create --name test_env -f package_list.txt
その他
キャッシュの削除
使われていないパッケージやキャッシュを削除をするには、以下のコマンドを実行します。色々使っているとゴミがたまっていきますので、たまに実行してください。
conda clean --all
バージョンの指定方法
指定方法 | バージョン |
パッケージ名 = 4.9 | 4.9.0か4.9.1か・・・・4.9.9のいずれか |
パッケージ名 == 4.9 | 4.9.0 |
”パッケージ名>=4.9.1” | 4.9.1以上のバージョン |
“パッケージ名 > 4.9.1” | 4.9.1より上のバージョン |
”パッケージ名<=4.9.1” | 4.9.1以下のバージョン |
“パッケージ名 < 4.9.1” | 4.9.1未満のバージョン |
“パッケージ名 4.9.1 | 4.9.3” | 4.9.1または4.9.3 |
“パッケージ名 >=4.8.0, <=4.9.3” | 4.8.0以上4.9.3以下 |