Bot Builder SDK v4.0 python を使う準備

# はじめに
Bot Framework とは、Microsoft 謹製の Skype や Teams, Slack , Facebook といったマルチチャネルに対応したボットをシングルコードで開発するためのフレームワークで、__Connecter__, __Builder  SDK__, __Direcroty__ の3要素から構成されており、執筆時では　v4.0 が GitHub に公開されています。v4.0 からは Bot Builder SDK に python 用のSDKが登場しました。使う準備のために行ったことについて備忘録がてら残しておきます。
__本情報の内容（添付文書、リンク先などを含む）は、作成日時点でのものであり、予告なく変更される場合があります__

## 確認した環境
私の環境は macOS High Sierra 10.13.3 です。Windows の場合はパスの記号などが変わります。
pip 9.0.2
Python 2.7.10 (default, Jul 15 2017, 17:16:57) 
でしたが、うまく動かなかったので__Python 3.6.4__にアップデートしました。

# 具体的な手順
##　事前準備（Python 3系にしてから実施）
### msrest のインストール
Bot Builder SDK の前提環境に、[AutoRest: Python Client Runtime](https://github.com/Azure/msrest-for-python)があるので、インストールしておきます。
Python のパッケージマネージャである pip が使える環境を前提としています。

```bash
$ sudo pip install msrest
```

## Bot Builder SDK v4 (Python) のクローニング
Git Hub からクローンします。

```bash
$ git clone https://github.com/Microsoft/botbuilder-python.git
```

## Bot Builder SDK v4 (python) のインストール
Git Clone したフォルダに移動し、インストールします。
具体的に実行したのは下記3行。Windows の方は__build-all.cmd__を管理者権限で実行すればいいと思います。

```bash
$ sudo pip install -e ./libraries/botbuilder-schema
$ sudo pip install -e ./libraries/botframework-connector
$ sudo pip install -e ./libraries/botbuilder-core
```

## pytest で動作確認
サンプルコードのパス変更で実施します。

```bash
$sudo pip install -r ./libraries/botframework-connector/tests/requirements.txt
$pytest
```

実行結果例

```bash
$ pytest
================================================= test session starts ==================================================
platform darwin -- Python 3.6.4, pytest-3.4.2, py-1.5.2, pluggy-0.6.0
rootdir: /Users/miyamam/Dev/botbuilder-python, inifile:
plugins: cov-2.5.1, asyncio-0.8.0
collected 50 items                                                                                                     

libraries/botframework-connector/tests/test_attachments.py .....                                                 [ 10%]
libraries/botframework-connector/tests/test_attachments_async.py .....                                           [ 20%]
libraries/botframework-connector/tests/test_auth.py ......                                                       [ 32%]
libraries/botframework-connector/tests/test_conversations.py .................                                   [ 66%]
libraries/botframework-connector/tests/test_conversations_async.py .................                             [100%]

============================================== 50 passed in 12.79 seconds ==============================================
```


## サンプルを動かして動作確認
サンプルは、__botbuilder-python/samples/Echo.Connector.Bot/__ にありますが、今日現在はそのままではまともに動かなさそうです(´・ω・`)

## 番外：python のアップデート
pyenv を使うやり方がシンプルで簡単そうだったので実施しています。
実行したコマンドはこちらになります。パスを切らない、xcodeの設定をしないとはまります。

```bash
$ xcode-select --install
$ brew install pyenv

# 最新パッケージを取得する
$ pyenv install --list

# インストール
$ sudo pyenv install 3.6.4
$ pyenv install anaconda3-5.1.0
$ pyenv local anaconda3-5.1.0
$ pyenv global anaconda3-5.1.0

# 入ったものの確認
$ pyenv versions

#　ここで変わらなければ、環境変数の設定がいるので　.bash_profile　に書くといいと思う。
$ export PATH="$HOME/.pyenv/shims:$PATH"
```

# 参考リンク
- [Bot Builder SDK v4 (Python)](https://github.com/Microsoft/botbuilder-python)
- [AutoRest: Python Client Runtime](https://github.com/Azure/msrest-for-python)