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.