AttributeError:'module'对象没有属性'WebSocketApp'

use*_*169 11 python sockets api json websocket

我正在尝试使用python连接到API,使用WebSocketApp,我似乎无法做到这一点.无论我尝试什么,我都会收到这个错误:

AttributeError:'module'对象没有属性'WebSocketApp'

这是我正在使用的简单代码

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()
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激,我在网上找到的所有解决方案都没有为我工作.

Bil*_*lly 17

看起来您正在尝试使用websocket-client包的功能而不仅仅是websocket包.websocket-client从命令行进行Pip-install (或使用您拥有的任何其他软件包管理器安装它),然后再次尝试运行代码.

pip install websocket-client
Run Code Online (Sandbox Code Playgroud)


fal*_*tru 9

确保您没有将文件命名为websocket.py; 否则,它将阻止导入所需的第三方模块websocket; 因为首先根据sys.path模块搜索路径搜索模块.

将模块重命名为其他名称,并确保清除websocket.pyc它是否存在.


Ami*_*khm 5

在这种情况下,您应该卸载可能不一致的先前版本,然后重新安装websocket-client:

pip uninstall websocket-client
pip uninstall websocket
Run Code Online (Sandbox Code Playgroud)

然后安装新版本:

pip install websocket-client
Run Code Online (Sandbox Code Playgroud)