# 環境構築 - Anaconda
###### tags: `note`
## Anacondaとは
Anaconda はデータサイエンス向けの環境を提供するディストリビューション(実行環境)です。
Pythonで利用できる科学計算ライブラリの多くはオープンソースで開発されており、無料で入手・利用できる一方、インストールや環境構築についてはやや手間がかかる傾向がありました。そのため、こういった科学計算ライブラリとPython本体をまとめて配布するプロジェクトとしてAnacondaが登場しました。
Anacondaでは、多くのモジュールやツールのコンパイル済みバイナリファイルを提供しており、簡単にPythonを利用する環境を構築できます。
より最小限のパッケージのみを同梱したディストリビューションとして、[Miniconda](https://docs.conda.io/en/latest/miniconda.html)というものもあります。
## Anacondaの主な特徴
### オープンソースソフトウェア(OSS)である
世界中で2000万人を超えるユーザーがいる世界で最も人気のあるデータサイエンスと機械学習のためのPythonディストリビューションです。
### condaパッケージが利用できる
`conda install` コマンドを使用することで、クラウドベースのリポジトリを検索して 7,500を超えるデータサイエンスおよび機械学習パッケージを見つけてインストールすることができます。
### 実行環境の管理が可能
クロスプラットフォームでソフトウェアを構築、配布、インストール、更新、および管理するユーティリティを提供しています。Condaを使用すると、複数の開発環境を簡単に管理することができます。
###
## インストール
Anaconda のインストーラは下記よりダウンロードできます。
https://www.anaconda.com/products/individual
Minicondaのインストーラは下記よりダウンロードできます。
https://docs.conda.io/en/latest/miniconda.html
### インストールの開始
インストールを開始します。「Next」を選択してください。

### 規約の同意
目を通したうえで問題なければ「I Agree」をクリックしてください。

### インストールタイプの選択
複数のユーザー間で使用する場合は「All Users」を選択、
自分のみが使用する場合は「Just Me」にチェックが入った状態で「Next」を選択してください。
「All Users」を選択した場合は`C:\ProgramData\Anaconda3`等のシステムディレクトリに、
「Just Me」を選択した場合は`C:\Users\{ユーザーディレクトリ}\anaconda3`等のユーザーディレクトリ以下にインストールされます(変更可能)。

### インストールオプションの選択
インストールオプションの選択では、「AnacondaのPATHを通すか否か」及び「デフォルトのPython コマンドをAnacondaのPythonで上書きするか」が設定できます。

#### AnacondaのPATHを通すか否か
インストール済みの他のソフトウェアと干渉する可能性があるため、公式ではAnacondaをPATHに追加しないことが推奨されています。
PATHを通さなくても、一緒にインストールされるAnaconda Promptを起動すれば、起動時にAnacondaへのPATHが通るようになっているため、使用には問題ありません。
「Add Anaconda3 to my PATH environment variable」にはチェックをつけなくてよいです。
参考:[Frequently asked questions - installing-anaconda](https://docs.anaconda.com/anaconda/user-guide/faq/#installing-anaconda)
#### AnacondaをデフォルトのPythonとして登録するか
VSCodeやPyCharm等のIDEを使用する場合、これをチェックしておかなければAnacondaの存在が認識されないため、「Register Anaconda3 as my default Python 3.8」にはチェックを付けることを推奨します。
## デフォルトシェルをAnaconda Promptに変更
スタートメニューから `Anaconda3 > Anaconda Prompt > (右クリック) > その他 > ファイルの場所を開く` を選択します。

エクスプローラが開きます。
`Anaconda Prompt を右クリック > プロパティ` を開き、 [リンク先] の文字列をクリップボードにコピーします。

「`Ctrl` + `Shift` + `p`」からファイル検索窓を開き、「Settings」と入力し、候補に表れる
`Preferences: Openv settings (JSON)`を選択します。
下記のように変更します。
```
{
"terminal.integrated.shell.windows": "C:\\Windows\\System32\\cmd.exe",
"terminal.integrated.shellArgs.windows": [
"[コピーした文字列の第一引数]"
, "[コピーした文字列の第二引数]"
, "[コピーした文字列の第三引数]"
],
}
```
このとき、 `\` 文字は `\\` にエスケープする必要があります。
**例**
```
{
"terminal.integrated.shell.windows": "C:\\Windows\\System32\\cmd.exe",
"terminal.integrated.shellArgs.windows": [
"/K"
, "C:\\Users\\kimop\\anaconda3\\Scripts\\activate.bat"
, "C:\\Users\\kimop\\anaconda3"
],
}
```
「`Ctrl` + `Shift` + `p`」から `Developer: Reload Window`を選択すると再起動できます。
ターミナルの左側に `(base)`という文字があれば、問題なくAnaconda Promptを起動できていることになります。

## condaコマンドの使用方法
Anacondaをインストールすると、`conda`コマンドが使用できるようになります。
このコマンドを使用することで、必要なパッケージをインストールしたインスタントな仮想環境を作成することが可能となります。
ここでは頻繁に用いられるコマンドに絞って紹介します。
詳細については、下記のコマンドリファレンスを参照してください。
参考:[Docs » Command reference](https://docs.conda.io/projects/conda/en/latest/commands.html)
#### パッケージの検索
`<キーワード>`を使用して、condaコマンドでインストール可能なパッケージを検索します。
```
$ conda search <キーワード>
```
#### 仮想環境の作成
`python=<Pythonのバージョン>`でPythonのバージョンを指定します。
`<必要なパッケージ>`に「anaconda」を指定すると、Anacondaの全ライブラリをインストールすることができます。
```
$ conda create -n <仮想環境名> python=<Pythonのバージョン> <必要なパッケージ>
```
**例**
anacondaの全ライブラリをインストールしたPython3.8環境をpy38という名前で作成する場合
```
$ conda create -n py38 python=3.8 anaconda
```
#### 仮想環境の有効化
`<仮想環境名>` に指定した仮想環境を有効化します。
```
$ conda activate <仮想環境名>
```
ex)
py38という名前の環境を有効化する場合
```
$ conda activate py38
```
#### 仮想環境の無効化
```
$ conda deactivate
```
ex)
py38という名前の環境を無効化する場合
```
$ conda activate py38
```
#### 仮想環境の一覧の表示
```
$ conda info -e
```
#### 仮想環境の削除
`<仮想環境名>`に指定した仮想環境を完全に削除します。
```
$ conda remove -n <仮想環境名> --all
```
ex)
py38という名前の環境を削除する場合
```
$ conda remove -n py38 --all
```
#### パッケージのインストール
`<パッケージ名>` に指定したパッケージが有効化している仮想環境にインストールされます。
```
$ conda install <パッケージ名>
```
ex)
`pandas`というパッケージをインストールする場合
```
$ conda install pandas
```
#### パッケージのアンインストール
`<パッケージ名>` に指定したパッケージが有効化している仮想環境からアンインストールされます。
```
$ conda uninstall <パッケージ名>
```
ex)
`pandas`というパッケージをアンインストールする場合
```
$ conda uninstall pandas
```
#### パッケージのアップデート
`<環境名> `中の`<パッケージ名>` に指定したパッケージをアップデートします。
```
$ conda update --name <環境名> <パッケージ名>
```
ex)
`py38`環境の`pandas`というパッケージをアップデートする場合
```
$ conda update --name py38 pandas
```
全パッケージのアップデート
```
$ conda update --all
```
#### パッケージ一覧の表示
```
$ conda list
```
#### リポジトリ設定関連
```
# リポジトリの追加
$ conda config --add channels conda-forge
# リポジトリの一覧表示
$ conda config --show-sources
==> /home/kimoton/.condarc <==
channels:
- conda-forge
- bioconda
- defaults
# チャンネルの削除
$ conda config --remove channels conda-forge
```
#### conda自体のアップデート
```
$ conda update conda
```