zzzzz838'sdiary

zzzzz838の日記

調べたことを忘れないように書いています。

【Pycharm】Python-Slackclientで苦労した点

PycharmでPython-Slackclientを使った時の話です。
サンプルコードを実行したら、4行目の赤字部分で“Module slack has no attribute WebClient ”というエラーが発生しました。
【サンプル】

import os
import slack

client = slack.WebClient(token=os.environ['SLACK_API_TOKEN'])

response = client.chat_postMessage(
channel='#viktor',
text="Hello world!")
assert response["ok"]
assert response["message"]["text"] == "Hello world!"

stackoverflowでも同じエラーで悩んでいる人続出、StackOverFlowでは解決していないみたいです。
stackoverflow.com


【ポイント】
どこで見つけたかもわからなくなってしまいましたが、解決編
・Slackのパッケージについて
そもそも「slackclient」をpip install slackclientでインストールしていたのが誤りだったようです。
PycharmではPycharmのパッケージ管理でインストールします。
<手順>
1.PycharmのFile>Setting>Project Interpreterで「+」を押すと、Packageインストール画面が表示されます。
f:id:zzzzz838:20210221014036p:plain
2.ここから「slackclient」を検索して、インストールします。
f:id:zzzzz838:20210221014528p:plain
pipでインストールした「slackclient」はアンインストールしました。
 
・“Module slack has no attribute WebClient ”エラーについて
こちらはコード内に「SLACK_BOT_TOKEN」を直接記入していましたが、それが間違いだったようです。
PycharmのConfiguration画面から入力します。
1.PycharmのEdit Configuration内を開きます。
f:id:zzzzz838:20210221014923p:plain
2.Configuration画面でEnvironmentVariablesの右端のアイコンをクリックします。
f:id:zzzzz838:20210221014713p:plain
3.EnviromentalVariablesの画面右の+ボタンをクリックして、Nameに「SLACK_BOT_TOKEN」、ValueにSlackの画面で取得したTokenを入力します。
f:id:zzzzz838:20210221020925p:plain
4.OKをクリックします。
この手順で“Module slack has no attribute WebClient ”エラーは解消し、PythonからSlackにつぶやけるようになりました。

以上です。