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

如何找到引发Spacy模块遮蔽错误的spacy.py文件以重命名?

解决Spacy的AttributeError: module 'spacy' has no attribute 'load'问题

问题描述

尝试用pip、conda、Git三种方式安装Spacy后,运行代码时始终报错:

import spacy
nlp = spacy.load("en_core_web_sm")

错误信息:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Cell In[26], line 3
      1 import spacy
----> 3 nlp = spacy.load("en_core_web_sm")

AttributeError: module 'spacy' has no attribute 'load'

怀疑是spacy.py文件导致的模块遮蔽,但找不到该文件;Python路径为/Users/my_name/anaconda3/bin/python,该目录下只有名为spacy的Unix可执行文件,重命名后问题依旧。

解决方案

  • 检查当前工作目录的同名文件:模块遮蔽最常见的情况是当前运行代码的目录里有spacy.py、spacy.pyc这类同名文件,哪怕不在Python安装目录里也会触发。在终端执行ls | grep spacy,找到后直接删除或重命名。
  • 验证Spacy模块的实际路径:运行以下代码确认导入的spacy是不是官方模块:
    import spacy
    print(spacy.__file__)
    
    如果输出不是类似/Users/my_name/anaconda3/lib/python3.x/site-packages/spacy/__init__.py的路径,说明导入的是其他同名文件,找到后删除即可。
  • 彻底重装并清理缓存:
    1. 先完全卸载Spacy:
      pip uninstall -y spacy
      conda uninstall -y spacy
      
    2. 清理Python缓存文件:
      find /Users/my_name/anaconda3 -name "spacy*.pyc" -delete
      find /Users/my_name/anaconda3 -name "__pycache__" -type d -exec rm -r {} +
      
    3. 用conda重新安装(优先用conda避免环境冲突):
      conda install -c conda-forge spacy
      python -m spacy download en_core_web_sm
      
  • 确认运行环境一致性:检查当前代码运行的Python环境和which python输出的环境是否一致——有时候Jupyter Notebook或IDE会默认使用其他虚拟环境,导致安装的Spacy不在当前环境里。可以在代码里执行import sys; print(sys.executable)对比路径是否匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 22:32:45