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

Ubuntu终端运行Scrapy遇No module named 'attrs'错误求助

解决Scrapy Shell启动时的ModuleNotFoundError: No module named 'attrs'问题

问题原因

你的Scrapy依赖的Twisted库需要导入attrs的Factory和define,但当前Python环境(~/.local/lib/python3.10/site-packages)无法读取系统目录(/usr/lib/python3/dist-packages)里的attrs,或者系统安装的attrs版本(21.2.0)与Twisted存在兼容性问题。

解决方案

方案1:升级用户目录下的attrs

运行以下命令,强制为Python3.10安装/升级attrs到用户可读写的目录:

python3.10 -m pip install --user --upgrade attrs

完成后再次尝试启动scrapy shell。

方案2:使用虚拟环境(推荐新手)

虚拟环境可以隔离不同项目的依赖,彻底避免系统环境混乱:

  1. 安装虚拟环境工具:
    python3.10 -m pip install --user virtualenv
    
  2. 创建Scrapy专属虚拟环境:
    virtualenv -p python3.10 scrapy_env
    
  3. 激活虚拟环境:
    source scrapy_env/bin/activate
    
    激活后命令行前缀会显示(scrapy_env),表示已进入隔离环境。
  4. 在虚拟环境内重新安装Scrapy:
    pip install scrapy
    
  5. 启动Scrapy Shell:
    scrapy shell
    

方案3:检查环境一致性

确认Scrapy使用的Python版本与你安装attrs的版本一致:

  1. 查看Scrapy关联的Python版本:
    scrapy runpython --version
    
  2. 查看当前pip对应的Python版本:
    pip --version
    

如果两者版本不一致,必须用Scrapy对应的Python版本执行pip命令,比如Scrapy用python3.10,就始终用python3.10 -m pip代替pip。


内容的提问来源于stack exchange,提问作者M a m a D

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 02:25:15