避免踩坑,步入正文。
首先默认已经安装好了Conda,如果没有,自行安装。
1 : AllenNLP 要求 Python 3.6.1版本往上,并且要求PyTorch。
创建并激活环境
conda create -n allennlp
activate allennlp
进入 allennlp环境 后安装PyTorch(默认使用Cpu):
conda install pytorch torchvision torchaudio cpuonly -c pytorch
安装PyTorch后看一下python版本
使用的是Python 3.7或更高版本,你应该确保在运行上述命令后没有安装PyPI版本的数据类,因为这可能会在某些平台上导致问题。
可以通过运行 pip freeze dataclasses来快速检查。如果在输出中看到类似于dataclass =0.6的内容,那么只需运行pip uninstall -y dataclass。
结果中没有dataclass =0.6不需要上述删除操作。
2 : 安装allennlp
pip install allennlp
等待安装即可,安装完成后在命令行输入allennlp,如果输出如下,则安装成功,否则你也是个倒霉蛋了。但你又可以庆幸遇到了我这个在你之前的倒霉蛋。
3. 问题修复
如果安装完成后在命令行输入allennlp后出现下图信息,可以从反馈中察觉nltk出现了问题。
我深入研究了源代码,发现在pattern\text\en\wordnet\__init__.py中有下述信息:
for token in ("wordnet", "wordnet_ic", "sentiwordnet"):
try:
nltk.data.find("corpora/" + token)
也就说是nltk的数据集你没有下载到,这时候你需要在python解释器中输入:
import nltk
nltk.download()
然后在nltk数据集package中下载"wordnet", "wordnet_ic", "sentiwordnet"即可。
成功下载后在conda中输入allennlp就没有问题了。