简体   繁体   中英

AttributeError: 'module' object has no attribute 'WebSocketApp'

I'm trying to connect to an API with python, using WebSocketApp, and I cannot seem to do it. No matter what I try, I keep getting this error:

AttributeError: 'module' object has no attribute 'WebSocketApp'

Here is the simple code I am using

import websocket
import json

def on_open(ws):
    json_data = json.dumps({'data':'value'})
    ws.send(json_data)

def on_message(ws, message):
    print('data update: %s' % message)

if __name__ == "__main__":
    apiUrl = "appurl"
    ws = websocket.WebSocketApp(apiUrl, on_message = on_message, on_open = on_open)
    ws.run_forever()

Any help will be greatly appreciated, all the solutions I have found online have not worked for me.

It looks like you're trying to use features of the websocket-client package and not just the websocket package. Pip-install websocket-client from the command line (or install it using whatever other package manager you have), then try running your code again.

pip install websocket-client

Make sure that you didn't name your file as websocket.py ; Otherwise, it will prevent import of the desired third-party module websocket ; because your module is searched first according to sys.path module search path.

Rename your module to other name, and make sure to clean websocket.pyc if there it is.

In this case, You should uninstall the possible inconsistent previous versions and install websocket-client again:

pip uninstall websocket-client
pip uninstall websocket

an then install a new version:

pip install websocket-client

The issue can be generated because the version. Version v1.3 and above does me the same problem but installing v1.2.3 the issue disappeared...

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM