はじめに

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があるので、インストールしておきます。
Python のパッケージマネージャである pip が使える環境を前提としています。

$ sudo pip install msrest

Bot Builder SDK v4 (Python) のクローニング

Git Hub からクローンします。

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

Bot Builder SDK v4 (python) のインストール

Git Clone したフォルダに移動し、インストールします。
具体的に実行したのは下記3行。Windows の方はbuild-all.cmdを管理者権限で実行すればいいと思います。

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

pytest で動作確認

サンプルコードのパス変更で実施します。

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

実行結果例

$ 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の設定をしないとはまります。

$ 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"

参考リンク

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.