我尝试使用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()
我将非常感谢任何帮助,我在网上找到的所有解决方案都不适用于我。
答案 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