You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

本地运行streamlit hello时出现WebSocket错误求助

解决Streamlit Hello页面WebSocket连接失败(缺少application和request参数)的问题

问题现象

运行streamlit hello后,浏览器仅显示闪烁的页面轮廓,无法正常加载;命令行和Chrome开发者工具持续触发WebSocket连接错误,核心报错为:

TypeError: WebSocketHandler.init() missing 2 required positional arguments: 'application' and 'request'

错误根源

该问题是Streamlit与Tornado版本不兼容导致的,Python 3.10的typing模块中_no_init_or_replace_init函数的逻辑,与部分Tornado版本的WebSocketHandler初始化流程冲突,引发参数缺失错误。

解决方案

方案1:锁定兼容的Tornado版本

针对Python 3.10,Streamlit兼容的稳定Tornado版本为6.3.3,操作步骤如下:

  1. 激活你的虚拟环境(如果使用):
    strl_venv\Scripts\activate.bat
    
  2. 卸载当前Tornado版本:
    pip uninstall tornado -y
    
  3. 安装指定兼容版本:
    pip install tornado==6.3.3
    
  4. 重新运行Streamlit:
    streamlit hello
    

方案2:检查端口占用情况

确认8501端口未被其他进程占用:

  1. 打开命令提示符,执行:
    netstat -ano | findstr :8501
    
  2. 如果输出有进程ID,打开任务管理器结束对应进程,再重新启动Streamlit。

方案3:禁用WLS网络转发干扰

若WLS Ubuntu在后台运行,可能干扰本地网络连接:

  1. 打开命令提示符,执行:
    wsl --shutdown
    
  2. 关闭所有终端窗口,重新运行streamlit hello。

内容的提问来源于stack exchange,提问作者lightsOnTampa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 08:55:14