Python Websockets模块没有属性。

19

我有一个Python脚本,它向我的Python服务器发送WebSocket消息。但是它一直在抛出错误。我以前见过这些错误,但似乎无法修复它。我使用的是2.7.x版本。

#!/usr/bin/python
import websocket
import sys
val = sys.argv[1]
ws = websocket.create_connection("ws://ipaddress:9001")
ws.send(val)
ws.close()

错误

Traceback (most recent call last):
  File "./test.py", line 5, in <module>
    ws = websocket.create_connection("ws://ipaddress:9001")
AttributeError: 'module' object has no attribute 'create_connection'
2个回答

46

您安装了错误的库 (websocket),请尝试安装 websocket-client 库。

$ pip install websocket-client

然后您的代码必须正常工作


1
已满足要求(使用--upgrade进行升级):websocket-client在/usr/lib/python2.7/dist-packages中。 - user7063014
2
任何其他建议,我刚刚升级了它,但仍然没有运气。 - user7063014
4
请尝试再次运行pip uninstall websocketpip install websocket-client,以解决问题。 - mehdy
我曾经遇到过这个问题,但是原因是我在同一目录下有一个名为 websocket 的文件夹。 - MikeSchem

25
请参考falsetru在这里提供的答案:AttributeError: 'module' object has no attribute 'WebSocketApp'

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

将您的模块重命名为其他名称,并确保清除已生成的websocket.pyc。


2
对我来说,它是“websockets.py”。 - joro27

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接