热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【疑难杂症】allennlp安装报错:Installingbuilddependencies...error

背景:配置PURE的算法环境,安装allennlp0.9.0(pipinstallallennlp0.9.0)报错ÿ


背景:
配置PURE的算法环境,安装allennlp 0.9.0 (pip install allennlp==0.9.0)报错,如图所示:
在这里插入图片描述
探索:


  • 发现allennlp的依赖中有spacy,是在安装spacy 2.1.9的依赖时报错了。
    此时我尝试单独安装spacy 2.1.9也会报相同错误。所以是spacy这里出问题了。而我直接安装spacy最新版本(3.5.0),却是可以安装成功的。
  • 当我尝试不制定版本安装allennlp时,发现它会下载最新的pytorch版本,我不希望我的pytorch版本被改变,因为会破坏了pytorch与cuda、cudnn的版本配套。

原因:
pytorch、transformers、allennlp、spacy版本不匹配
而transformer通常不会导致问题

解决办法:
综上,考虑选择合适的allenlp版本,能够兼顾到spacy版本和pytorch版本
因为allennlp是基于pytorch的NLP库,所以allennlp的版本会受pytorch的版本影响,若是直接pip install allennlp,则可能会安装新的pytorch版本。
因此,allennlp版本选取的前提是,不要破坏pytorch的版本。
而官方没有给出一个配套的建议,我的方法是实验,首先从一个稍微低一点并接近0.9.0的版本开始,
如:pip install allennlp1.1.0
在这里插入图片描述
此时发现它要求pytorch的版本低于1.7,此时则考虑增加版本,因为一般越近的版本使用的pytorch版本就越高。
pip install allennlp
1.2.0, 顺利安装

此时,allenlp会自动安装配套的spacy和transformers及其它依赖。




Successfully installed allennlp-1.2.0 catalogue-1.0.2 jsonpickle-3.0.1 plac-1.1.3 spacy-2.3.9 srsly-1.0.6 thinc-7.4.6 tokenizers-0.9.2 transformers-3.4.0 wasabi-0.10.1



最后,给一个基于pytorch1.7.1的配套方案,若你也是这个版本,则可以直接按这个配套方案安装,若是不,则参考上面的实验找到合适的allennlp版本。

pytorch:1.7.1
allennlp:1.2.0
transformers:3.4.0
spacy:2.3.9







推荐阅读
author-avatar
persisit110
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有