Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python can't find installed module ('slackclient')

I am trying to build a slack bot for learning purpose but when I run the script get this error ModuleNotFoundError: No module named 'slackclient'

I tried install and uninstall and then re-install with python -m pip install slackclient

import os
import time
import re
from slackclient import SlackClient

# instantiate Slack client
slack_client = SlackClient(os.environ.get('SLACK_BOT_TOKEN'))

if __name__ == "__main__":
    if slack_client.rtm_connect(with_team_state=False):
        print("Starter Bot connected and running!")
        #Read bot's user ID by calling Web API method 'auth.test'
        starterbot_id = slack_client.api_call("auth.test")["user_id"]
        while True:
            command, channel = parse_bot_commands(slackclient.rtm_read())
            if command:
                handle_command(command, channel)
            time.sleep(RTM_READ_DELAY)
    else:
        print("Connection failed. Exception traceback printed above.")


(STARTE~1) C:\Users\enest\Desktop\Slack Bot\starterbot>python starterbot.py
Traceback (most recent call last):
  File "starterbot.py", line 4, in <module>
    from slackclient import SlackClient
ModuleNotFoundError: No module named 'slackclient'

(STARTE~1) C:\Users\enest\Desktop\Slack Bot\starterbot>pip install slackclient
Requirement already satisfied: slackclient in c:\users\enest\desktop\slackb~1\starte~1\lib\site-packages (2.1.0)
Requirement already satisfied: aiohttp>3.5.2 in c:\users\enest\desktop\slackb~1\starte~1\lib\site-packages (from slackclient) (3.5.4)
Requirement already satisfied: chardet<4.0,>=2.0 in c:\users\enest\desktop\slackb~1\starte~1\lib\site-packages (from aiohttp>3.5.2->slackclient) (3.0.4)
Requirement already satisfied: async-timeout<4.0,>=3.0 in c:\users\enest\desktop\slackb~1\starte~1\lib\site-packages (from aiohttp>3.5.2->slackclient) (3.0.1)
Requirement already satisfied: multidict<5.0,>=4.0 in c:\users\enest\desktop\slackb~1\starte~1\lib\site-packages (from aiohttp>3.5.2->slackclient) (4.5.2)
Requirement already satisfied: yarl<2.0,>=1.0 in c:\users\enest\desktop\slackb~1\starte~1\lib\site-packages (from aiohttp>3.5.2->slackclient) (1.3.0)
Requirement already satisfied: attrs>=17.3.0 in c:\users\enest\desktop\slackb~1\starte~1\lib\site-packages (from aiohttp>3.5.2->slackclient) (19.1.0)
Requirement already satisfied: idna>=2.0 in c:\users\enest\desktop\slackb~1\starte~1\lib\site-packages (from yarl<2.0,>=1.0->aiohttp>3.5.2->slackclient) (2.8)
like image 583
enestatli Avatar asked Feb 03 '23 18:02

enestatli


1 Answers

While the PyPI package is called slackclient, you import the module using the name slack:

import slack

Or, for example:

from slack import WebClient

Reference: https://github.com/slackapi/python-slackclient/wiki/Migrating-to-2.x

like image 145
arjitsrivastava13 Avatar answered Feb 06 '23 08:02

arjitsrivastava13