我正在使用Python 3.4和websocket-client 0.44。我正在尝试使用Python webscoket脚本从Bitfinex获取流数据 使用套接字。这是我写的剧本:
import json
from websocket import create_connection
ws = create_connection("wss://api.bitfinex.com/ws/2")
#ws.connect("wss://api2.bitfinex.com:3000/ws")
ws.send(json.dumps({
"event": "subscribe",
"channel": "book",
"symbol": "tBTCUSD",
}))
while True:
result = ws.recv()
result = json.loads(result)
xxx = result
print(xxx)
#print(result[1])
ws.close()
我得到的是,错误:
Traceback (most recent call last):
File "D:/bitstamp/socket.py", line 3, in <module>
from websocket import create_connection
File "C:\Python34\lib\site-packages\websocket_client-0.44.0-py3.4.egg\websocket\__init__.py", line 23, in <module>
from ._app import WebSocketApp
File "C:\Python34\lib\site-packages\websocket_client-0.44.0-py3.4.egg\websocket\_app.py", line 35, in <module>
from ._core import WebSocket, getdefaulttimeout
File "C:\Python34\lib\site-packages\websocket_client-0.44.0-py3.4.egg\websocket\_core.py", line 24, in <module>
import socket
File "D:\bitstamp\socket.py", line 3, in <module>
from websocket import create_connection
ImportError: cannot import name 'create_connection'
Python 3.4中是否存在问题,或者我这样做是错误的吗?
答案 0 :(得分:4)
Python 3.4没有错。看来您可能缺少websocket-client软件包。
请通过如下所示在终端中运行命令来安装此软件包,这应该可以解决您的问题。
pip install websocket-client
答案 1 :(得分:3)
请勿调用您的脚本socket.py
。 Python的标准库中已经存在socket
,并且您与它存在冲突。您可以通过跟踪回溯来判断这是问题:它从您的脚本开始,下降到websocket
,最终尝试导入socket
,然后再次获取您的脚本。
答案 2 :(得分:0)
您应该首先安装websocket-client,或者在卸载websocket之后再安装websocket-client。