AttributeError:'模块'对象没有属性' WebSocketApp'

时间:2017-02-09 16:17:34

标签: python json api sockets websocket

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

属性错误:'模块'对象没有属性' 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()

我将非常感谢任何帮助,我在网上找到的所有解决方案都不适用于我。

3 个答案:

答案 0 :(得分:15)

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

pip install websocket-client

答案 1 :(得分:8)

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

将您的模块重命名为其他名称,并确保清除websocket.pyc(如果有)。

答案 2 :(得分:2)

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

pip uninstall websocket-client
pip uninstall websocket

然后安装新版本:

pip install websocket-client