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

运行Ryu控制器遇问题:TimeoutError及eventlet导入错误求助

解决Ryu控制器运行的依赖兼容问题

问题背景

运行ryu-manager时先后触发两个错误:

  1. TypeError: cannot set 'is_timeout' attribute of immutable type 'TimeoutError'
  2. 安装eventlet==0.33.1后出现ImportError: cannot import name ALREADY_HANDLED from eventlet.wsgi

核心原因

  • 第一个错误:高版本eventlet将TimeoutError改为不可变类型,与Ryu旧逻辑冲突
  • 第二个错误:eventlet 0.30.x及以后版本移除了ALREADY_HANDLED变量,0.33.1不在兼容范围内

可行解决方案

  1. 安装兼容的eventlet版本
    选择eventlet 0.29.0,该版本同时满足保留ALREADY_HANDLED、不触发TimeoutError属性问题的要求,执行命令:

    pip uninstall eventlet -y
    pip install eventlet==0.29.0
    
  2. 重置Ryu依赖
    卸载现有Ryu并重新安装,确保依赖完全匹配:

    pip uninstall ryu -y
    pip install ryu --no-cache-dir
    

    完成后重新运行ryu-manager即可正常启动。

  3. 可选:用虚拟环境隔离依赖
    若系统存在其他依赖冲突,建议创建独立虚拟环境:

    python -m venv ryu-env
    source ryu-env/bin/activate  # Linux/macOS环境
    # Windows环境执行:ryu-env\Scripts\activate
    pip install eventlet==0.29.0 ryu
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 22:31:13