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

Python3.10运行Shadowsocks报错:collections无MutableMapping属性

解决Python 3.10下Shadowsocks启动报错:AttributeError: module 'collections' has no attribute 'MutableMapping'

问题原因

Python 3.10开始,collections模块中的MutableMapping等抽象基类被移至collections.abc子模块,而你当前使用的Shadowsocks版本未适配这一变更,导致启动时无法找到collections.MutableMapping。

解决方案

方案1:修改Shadowsocks源码快速修复

  1. 打开报错的lru_cache.py文件:
    sudo nano /usr/local/lib/python3.10/dist-packages/shadowsocks/lru_cache.py
    
  2. 在文件开头添加导入语句:
    from collections.abc import MutableMapping
    
  3. 找到第34行的类定义,将collections.MutableMapping替换为MutableMapping:
    class LRUCache(MutableMapping):
    
  4. 保存退出(nano中按Ctrl+O回车确认,再按Ctrl+X),重新启动服务:
    sudo ssserver -c /etc/shadowsocks.json
    

方案2:安装适配Python 3.10的Shadowsocks分支

原版Shadowsocks已停止维护,推荐安装更稳定的更新分支:

sudo apt update && sudo apt install shadowsocks-libev

安装完成后用新版命令启动:

sudo ss-server -c /etc/shadowsocks.json

方案3:降级Python版本(不推荐)

若不想修改源码或更换版本,可将Python降级至3.9及以下(3.9及更早版本中collections仍保留MutableMapping别名),但此操作可能影响系统其他依赖,需谨慎执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 05:08:16