【メモ】python HEROKU slackbot作成 No module named 'tweepy' エラー
slackbotにて、TwitterRestAPIから取得した結果を表示する。
プログラムを勉強中。
下記を参考にさせて頂いた。
■事象
作成したソースを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のバージョン確認
>python -m pip list
…
tweepy 3.8.0
・requirement.txtに追記
slackbot==0.5.6tweepy==3.8.0
これで再度デプロイ。
Herokuでbotが起動した。