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

使用Pipenv从GitHub安装spaCy遇问题:依赖与锁文件生成失败

解决Pipenv安装GitHub版spaCy的两个问题

问题1:预安装依赖失败,setup_requires无效的解决方案

当你用pipenv install -e git+https://github.com/explosion/spaCy#egg=spacy安装spaCy开发版时,pipenv处理**可编辑安装(-e参数)**时不会自动执行setup.py里的setup_requires依赖安装——这是因为可编辑模式下,pip会先克隆仓库再运行setup脚本,但此时构建依赖还未就绪,导致报错。

解决这个问题的正确步骤:

  • 先手动安装所有必需的构建依赖到Pipenv环境:
    pipenv install cython preshed murmurhash thinc
    
  • 完成后再执行spaCy的可编辑安装命令:
    pipenv install -e git+https://github.com/explosion/spaCy#egg=spacy
    

如果你不想分步操作,也可以把所有依赖写在同一条命令里:

pipenv install cython preshed murmurhash thinc -e git+https://github.com/explosion/spaCy#egg=spacy

问题2:生成Pipfile.lock失败的解决方案

你遇到的InstallationError: No files/directories in None (from )报错,本质是pipenv依赖的piptools无法正确解析Git可编辑安装包的egg信息——Git克隆的可编辑包首次安装后,可能未生成完整的egg-info目录,导致锁文件生成时无法读取依赖信息。

这里有几个可行的解决办法:

方法1:本地克隆后再安装可编辑版本

这种方式能让pipenv更稳定地识别依赖:

  1. 克隆spaCy仓库到本地:
    git clone https://github.com/explosion/spaCy.git
    cd spaCy
    
  2. 在当前目录用pipenv安装本地可编辑版本:
    pipenv install -e .
    
  3. 若未自动生成锁文件,手动触发:
    pipenv lock
    

方法2:跳过初始锁生成,后续手动更新

如果坚持用Git远程安装,可以先跳过锁文件生成,再手动修复:

  1. 安装时添加--skip-lock参数:
    pipenv install -e git+https://github.com/explosion/spaCy#egg=spacy --skip-lock
    
  2. 安装完成后手动更新锁文件(--pre允许解析预发布版本依赖,适配spaCy的部分依赖):
    pipenv lock --pre
    

方法3:升级pipenv到最新版本

旧版本pipenv对Git可编辑安装的锁文件生成存在bug,升级到最新版本可能直接解决问题:

pip install --upgrade pipenv

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:24:37