我在从命令行运行时使用WebSocketApp没有问题,但当我尝试作为容器运行时,我无法找出问题。大多数文本指向需要安装的websocket-client,但我已经这样做了。我已经搜索了我能找到的所有内容。这里是我可以复制的最简单的代码集(使用https://websocket-client.readthedocs.io/en/latest/examples.html)
CODE(test.py):
import websocket
def on_message(wsapp, message):
print(message)
wsapp = websocket.WebSocketApp("wss://testnet-explorer.binance.org/ws/block", on_message=on_message)
wsapp.run_forever()
字符串
requirements.txt:
gevent==23.9.1
greenlet==3.0.1
pytz==2023.3.post1
websocket==0.2.1
websocket-client==1.6.4
websockets==12.0
zope.event==5.0
zope.interface==6.1
型
Dockerfile:
FROM python:3.9-slim-buster
WORKDIR /python-docker
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
型
ENTRYPOINT [“python”,“test.py“]
结果始终是错误:AttributeError:模块“WebSocket”没有属性“WebSocketApp”
我试着将基本映像更改为完整的python安装(python:3.9),并尝试从我的命令行环境中生成requirements.txt,它可以工作(安装了更多的库),但仍然不工作。
1条答案
按热度按时间disho6za1#
从requirements.txt中删除WebSocket,它可以正常工作。
websocket 0.2.1 package似乎是一些没有描述的流氓软件包,最后一次发布是在2010年。请使用websocket-client。