Anaconda には conda コマンドがインストールされており、パッケージのインストールや、実行環境の作成・切り替えなどを行います。Anacondaの実行環境は Anaconda-Navigator でも操作できますが、ここでは conda コマンドの使い方を紹介します。
Conda環境¶
Conda環境は独立したPythonの実行環境で、他の環境に影響を与えずにPythonのバージョンを用途によって切り替えたり、パッケージをインストールしたりできます。
Conda環境は、conda activate コマンドで利用を開始します。環境名を指定せずに conda activate コマンドを実行すると、デフォルトのConda環境である base 環境が有効になります。
$ conda activate
(base) $
Conda環境が有効になると、コマンドプロンプトに (環境名) が表示されます。
Conda環境では、Anacondaが配布するPythonを実行できるようになります。
(base) $ python
Python 3.8.1 (default, Jan 8 2020, 16:15:59)
[Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
Python以外のコマンド¶
Conda環境に含まれているのは、Python言語や関連ライブラリだけではなく、ruby や curl など、他のプログラミング言語やコマンドも含まれています。
Conda環境を有効にすると、 ruby や curl などのコマンドも、システムにインストールされたコマンドではなく、Anacondaが提供するコマンドが実行されます。必要に応じて、Conda環境を無効にしてから実行するようにしてください。
パッケージのインストール¶
あたらしくパッケージをAnacondaのリポジトリからインストールする時は、conda環境を有効にしてから conda install パッケージ名 コマンドを使います。
次の例は、Pythonのソースコード整形ツール black をインストールします。
(base) $ conda install black
Collecting package metadata (current_repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /opt/anaconda3
...
Proceed ([y]/n)? # <- y を入力
Downloading and Extracting Packages
appdirs-1.4.3 | 15 KB | ##################################### | 100%
typed-ast-1.4.1 | 184 KB | ##################################### | 100%
...
パッケージの検索¶
インストールするパッケージの、正確な名前やバージョンがわからない時は、conda search パッケージ名 で検索できます。
$ conda search blac
Loading channels: done
No match found for: blac. Search: *blac*
# Name Version Build Channel
black 19.3b0 py_0 pkgs/main
black 19.10b0 py_0 pkgs/main
Pythonバージョンの変更¶
Conda環境で使用するPythonのバージョンも、conda install コマンドで変更できます。次のコマンドは、Pythonのバージョンを3.8に変更します。(バージョンの変更に伴う依存関係の解決のため、数分程度かかる場合があります。)
conda install python=3.8
Conda環境の作成¶
Anacondaの実行環境を複数用意して、一時的に切り替えて使えると便利なことがあります。たとえば、普段はPython3.6の環境でTensorFlow 1.15を利用したいが、実験的に Python 3.7上のTensorFlow 2.0 を使ってみる、という場合などです。
例として、Python 3.6 とPython3.7の独立した環境を作ってみましょう。
Conda環境は、conda create コマンドで作成します。つぎのコマンドは、py36 という名前で、Python 3.6の環境を作成します。
(base) $ conda create --name py36 python=3.6
作成した環境は、conda activate 環境名 で有効化して使います。
(base) $ conda activate py36
(py36) $
Conda環境を切り替えると、プロンプトの表示も (base) から (py36) と切り替わります。
この環境に、TensorFlow 1.15をインストールしましょう。バージョンを指定してインストールする時は、conda install パッケージ名=バージョン の形式で指定します。
(py36) $ conda install tensorflow=1.15
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /opt/anaconda3/envs/py36
added / updated specs:
- tensorflow=1.15
もう一つ、py37 という名前で、Python3.7の環境を作りましょう。
(py36) $ conda create --name py37 python=3.7
Collecting package metadata (current_repodata.json): done
作成した py37 環境を有効化します。
(py36) $ conda activate py37
(py37) $
こちらの環境には、TensortFlow 2.0をインストールします。
(py37) $ conda install tensorflow=2.0
Conda環境の切り替え¶
これで、2つの環境を切り替えて使えるようになりました。
TensorFlow 1.15の環境を使う時は、
(py37) $ conda activate py36
(py36) $
で py36 に切り替えます。
TensorFlow 2.0 を使う時は
(py36) $ conda activate py37
(py37) $
で、py37 に切り替えます。
Conda環境の終了¶
conda activate で有効にしたConda環境は、conda deactivate で終了できます。
(base) $ conda deactivate
$
Conda環境の自動起動¶
コンソールを起動したとき、自動的にConda環境を有効にする場合は次のコマンドを実行します。
conda config --set auto_activate_base true
Conda環境が自動的に有効にならないように設定する場合は、
conda config --set auto_activate_base false
を実行します。この場合、Conda環境を利用する時には、conda activate コマンドでConda環境を有効化します。