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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With