2017-02-09 166 views
7

我试图用python连接到API,使用WebSocketApp,而且我似乎无法做到这一点。不管我怎么努力,我不断收到此错误:AttributeError:'模块'对象没有属性'WebSocketApp'

AttributeError的:“模块”对象有没有属性“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() 

任何帮助将不胜感激,我在网上找到的所有解决方案都不适合我。

回答

4

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

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

+0

这应该是公认的答案! – skeller88

9

它看起来像你试图使用websocket-client包的功能,而不仅仅是websocket包。从命令行安装websocket-client(或使用其他软件包管理器进行安装),然后再次尝试运行您的代码。

pip install websocket-client 
相关问题