【メモ】python HEROKU slackbot作成 No module named 'tweepy' エラー

 

slackbotにて、TwitterRestAPIから取得した結果を表示する。

プログラムを勉強中。

 

下記を参考にさせて頂いた。

www.virtual-surfer.com

 

■事象

作成したソースをHerokuにデプロイし、bot実行時にエラー

2020-06-05T08:17:06.203929+00:00 app[pbot.1]: start slackbot
2020-06-05T08:17:07.459536+00:00 app[pbot.1]: Failed to import plugins.my_mention
2020-06-05T08:17:07.459573+00:00 app[pbot.1]: Traceback (most recent call last):
2020-06-05T08:17:07.459577+00:00 app[pbot.1]: File "/app/.heroku/python/lib/python3.7/site-packages/slackbot/manager.py", line 60, in _load_plugins
2020-06-05T08:17:07.459578+00:00 app[pbot.1]: import_module(module)
2020-06-05T08:17:07.459580+00:00 app[pbot.1]: File "/app/.heroku/python/lib/python3.7/importlib/__init__.py", line 127, in import_module
2020-06-05T08:17:07.459581+00:00 app[pbot.1]: return _bootstrap._gcd_import(name[level:], package, level)
2020-06-05T08:17:07.459582+00:00 app[pbot.1]: File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
2020-06-05T08:17:07.459583+00:00 app[pbot.1]: File "<frozen importlib._bootstrap>", line 983, in _find_and_load
2020-06-05T08:17:07.459583+00:00 app[pbot.1]: File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
2020-06-05T08:17:07.459583+00:00 app[pbot.1]: File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
2020-06-05T08:17:07.459584+00:00 app[pbot.1]: File "<frozen importlib._bootstrap_external>", line 728, in exec_module
2020-06-05T08:17:07.459584+00:00 app[pbot.1]: File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
2020-06-05T08:17:07.459584+00:00 app[pbot.1]: File "/app/plugins/my_mention.py", line 4, in <module>
2020-06-05T08:17:07.459585+00:00 app[pbot.1]: import tweepy
2020-06-05T08:17:07.459585+00:00 app[pbot.1]: ModuleNotFoundError: No module named 'tweepy'

 

■原因

tweepyが必要であることをHerokuに認識させる必要がある。

 

■対策

requirement.txtにtweepyのバージョンを追加する。

 

・tweepyのバージョン確認

コマンドプロンプトで下記実行。(grep的なのはサボった)

>python -m pip list


tweepy 3.8.0

 

・requirement.txtに追記

slackbot==0.5.6
tweepy==3.8.0

 

 

これで再度デプロイ。

Herokuでbotが起動した。