minicondaでpython環境を作ったときのメモ

# 1. miniconda
- minicondaはanacondaの最小構成版．環境を仮想化するので大本の環境が汚くならない．バージョン管理がしやすい．まだ大して使ってないので細かいことはまだわかりません．

# 2. minicondaをインストールする(Mac OSX : Homebrew)

## 2.1 環境
- macOS Catalina 10.15.1
- Homebrew 2.2.0
- Homebrew/homebrew-core (git revision a6e8; last commit 2019-11-28)
- Homebrew/homebrew-cask (git revision 273f; last commit 2019-11-29)

## 2.2 Install
- homebrew-cask を入れる．すでに入ってる人はminicondaインストールへ．

```terminal:terminal
$ brew cask
```
- minicondaをインストール

```terminal:terminal
$ brew cask install miniconda
```

# 3. 仮想環境を作り，実行
## 3.1 仮想環境を作る
``` terminal:terminal
$ conda create python=3.6 --name test_environment
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /usr/local/Caskroom/miniconda/base/envs/test_environment

  added / updated specs:
    - python=3.6


The following NEW packages will be INSTALLED:

  ca-certificates    pkgs/main/osx-64::ca-certificates-2019.10.16-0
  certifi            pkgs/main/osx-64::certifi-2019.9.11-py36_0
  libcxx             pkgs/main/osx-64::libcxx-4.0.1-hcfea43d_1
  libcxxabi          pkgs/main/osx-64::libcxxabi-4.0.1-hcfea43d_1
  libedit            pkgs/main/osx-64::libedit-3.1.20181209-hb402a30_0
  libffi             pkgs/main/osx-64::libffi-3.2.1-h475c297_4
  ncurses            pkgs/main/osx-64::ncurses-6.1-h0a44026_1
  openssl            pkgs/main/osx-64::openssl-1.1.1d-h1de35cc_3
  pip                pkgs/main/osx-64::pip-19.3.1-py36_0
  python             pkgs/main/osx-64::python-3.6.9-h359304d_0
  readline           pkgs/main/osx-64::readline-7.0-h1de35cc_5
  setuptools         pkgs/main/osx-64::setuptools-42.0.1-py36_0
  sqlite             pkgs/main/osx-64::sqlite-3.30.1-ha441bb4_0
  tk                 pkgs/main/osx-64::tk-8.6.8-ha441bb4_0
  wheel              pkgs/main/osx-64::wheel-0.33.6-py36_0
  xz                 pkgs/main/osx-64::xz-5.2.4-h1de35cc_4
  zlib               pkgs/main/osx-64::zlib-1.2.11-h1de35cc_3


Proceed ([y]/n)? y

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate test_environment
#
# To deactivate an active environment, use
#
#     $ conda deactivate
```

## 3.2 作った環境に移動する
``` terminal:terminal
$ conda activate test_environmente
``` 
バージョンによっては, ``` source activate hogehoge``` とする場合があるみたいですが，```conda version : 4.7.12``` では ```conda activate hogehoge``` とするみたいです．バージョンによる違いは未調査です．
このアクティベートは初回は成功しません．「使用しているshellでの初期化が必要」と言われるので，

``` terminal:terminal
$ conda init zsh
```
**zsh** のところには各々の使用してるshellを入れてください. 実行すると,以下のが.zshrcなどに記載される．

```terminal:~/.zshrc
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/usr/local/Caskroom/miniconda/base/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/usr/local/Caskroom/miniconda/base/etc/profile.d/conda.sh" ]; then
        . "/usr/local/Caskroom/miniconda/base/etc/profile.d/conda.sh"
    else
        export PATH="/usr/local/Caskroom/miniconda/base/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<
```

これを実行したら，あとは使えるようになっているはずなので，terminalを開き直すか，.zshrcを読み込み直す．

```terminal:termianl
$ source .zshrc
```

## 3.3 実行し直す
- 今いる環境,その他の環境を確認するには

```terminal:terminal
$ conda env list
# conda environments:
#
base                  *  /usr/local/Caskroom/miniconda/base
dlmugenknock             /usr/local/Caskroom/miniconda/base/envs/dlmugenknock
test_environment         /usr/local/Caskroom/miniconda/base/envs/test_environment
```
- 移動して，移動を確認する

``` terminal:terminal
$ conda activate test_environment                                                                                                                     

$ conda env list
# conda environments:
#
base                     /usr/local/Caskroom/miniconda/base
dlmugenknock             /usr/local/Caskroom/miniconda/base/envs/dlmugenknock
test_environment      *  /usr/local/Caskroom/miniconda/base/envs/test_environment
```

- 環境を抜けるには

``` terminal:terminal
$ conda deactivate
```

# 5. 補足
- あとはそれぞれの環境で必要なmoduleを```pip install hogehoge```すればOK．
- 環境を変更すると写真のように環境名が横にでるみたいです．
<img width="1440" alt="スクリーンショット 2019-11-29 16.00.28.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/166893/093870e0-7087-4b08-3ded-f5606f925860.png">

# 参考記事
[ディープラーニング∞本ノック作ったった](https://qiita.com/yoyoyo_/items/cd5b859341106c3b52f9)
[Condaの使い方メモ](https://qiita.com/showsuzu/items/e2fddf22f725f4d2ab8c)
[Minicondaを使う](https://qiita.com/Scstechr/items/10e460c66fb3cbf3bb22)