首先直接pip install allennlp
报错,总是出现"Install allennlp failed with jsonnet build error"的错误。
查了一大通资料之后吧,解释的原因是由于没有安装jsonnet
包导致。
后面就是查询jsonnet
包的安装啦,因为是公司内网,所以安装的时候遇到了不少麻烦。总是显示网络的问题,随后查了一下,参考这位答主的回答Error日志 ERROR: Failed building wheel for jsonnet_hithithithithit的博客-CSDN博客
使用conda install -c conda-forge jsonnet
还是报url的错误。后来简单直白的用,conda install jsonnet
的命令就安装成功了,神奇~
后面我利用本地安装了一下allennlp,又报了’command python setup.py egg_info failed with error code 1 in /tmp/pip-build’的错误,参考了答主的回答解决 Command “python setup.py egg_info” failed …问题的参考 :_python.ask的博客-CSDN博客,将setuptools升级了一下,随后安装allennlp又报了’Cannot uninstall ‘greenlet’.it is a distuils installed project and thus…'的错误,参考这位答主的回答顺利解决之后Command “python setup.py egg_info” failed——完美解决_霍格沃茨电气魔法师的博客-CSDN博客,接着继续安装allennlp就可以顺利安装啦!
总结一下:
conda install jsonnet
报错的话可以试试这条安装语句
conda install -c conda-forge jsonnet
pip install --upgrade setuptools
如果还不行的话,再更新一下pip
python -m pip install --upgrade pip
因为我用的是公司内网的缘故,网络可能有时受限,我就把allennlp的wheel下载了下来手动安装啦,正常使用pip install allennlp
应该也行。
这里我参考了这位答主的做法安装allennlp库_weixin_39450145的博客-CSDN博客
这里我根答主一样,下载的是0.9.0版本的allennlp,后面这个版本好像会报错,以后有时间再补充吧~
pip install allennlp-0.9.0-py3-none-any.whl
这里有个小技巧,因为我是在公司调试机上进行的,找到Anaconda安装路径下并没有Lib文件夹,所以可以先尝试直接输入上述命令,接着就会报在哪个位置找不到allennlp-0.9.0-py3-none-any.whl文件的错误,随后把whl文件放到报错提示的路径中就行了~
参考[Command “python setup.py egg_info” failed——完美解决_霍格沃茨电气魔法师的博客-CSDN博客]的回答,输入以下命令即可:
pip install --ignore-installed greenlet
输入pip list
就在列表里看到allennlp了,这时就安装成功啦~
后续:后面运行程序又报了’TypeError: ArrayField.empty_field: return type ‘None’ is not a ‘
pip install overrides==3.1.0
后面就能成功调用allennlp的包啦~