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

Ubuntu 17.10中导入spaCy时出现undefined symbol: PyFPE_jbuf错误求助

解决Ubuntu 17.10中导入spaCy出现undefined symbol: PyFPE_jbuf错误

这个错误我之前帮不少开发者排查过,本质就是spaCy的二进制安装包和当前使用的Python解释器版本不兼容——尤其是你用的Python 2.7,新版spaCy已经彻底放弃对它的支持了,很容易出现这类符号缺失的问题。先看看你的完整报错信息:

import spacy
Traceback (most recent call last):
File "", line 1, in
File "/usr/local/lib/python2.7/dist-packages/spacy/init.py", line 4, in
from .cli.info import info as cli_info
File "/usr/local/lib/python2.7/dist-packages/spacy/cli/init.py", line 1, in
from .download import download
File "/usr/local/lib/python2.7/dist-packages/spacy/cli/download.py", line 10, in
from .link import link
File "/usr/local/lib/python2.7/dist-packages/spacy/cli/link.py", line 7, in
from ..compat import symlink_to, path2str
File "/usr/local/lib/python2.7/dist-packages/spacy/compat.py", line 11, in ...

给你几个靠谱的解决步骤,按顺序试:

  • 先确认spaCy版本,安装Python2.7兼容的旧版
    spaCy从v3.0开始就不再支持Python2.7,如果你装的是新版,肯定会报错。先查一下当前安装的版本:

    pip2 show spacy
    

    如果版本高于2.3.x,先卸载:

    pip2 uninstall -y spacy
    

    然后安装最后一个支持Python2.7的稳定版:

    pip2 install spacy==2.3.7
    
  • 清理残留的冲突文件
    有时候系统里会残留不同环境安装的spaCy文件,导致加载混乱。可以手动删除旧的安装目录:

    sudo rm -rf /usr/local/lib/python2.7/dist-packages/spacy*
    

    删完之后再重新安装上面指定的版本。

  • 用虚拟环境彻底隔离环境(推荐)
    系统Python很容易和各种第三方包冲突,用虚拟环境是最稳妥的办法。先装virtualenv:

    sudo apt-get install python-virtualenv
    

    创建一个Python2.7的虚拟环境:

    virtualenv -p python2.7 spacy_env
    

    激活虚拟环境:

    source spacy_env/bin/activate
    

    在这个干净的环境里安装兼容版spaCy:

    pip install spacy==2.3.7
    

    之后在这个环境里运行Python导入spaCy,基本不会再出问题。

  • 补全系统依赖,避免编译错误
    Ubuntu17.10的一些基础库可能不全,先装一下spaCy编译需要的依赖:

    sudo apt-get install build-essential python-dev libssl-dev libffi-dev
    

    装完这些再重新安装spaCy,能减少很多底层的编译问题。

内容的提问来源于stack exchange,提问作者Finn Årup Nielsen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:11:54