python - 安装spaCy的错误(UnicodeDecodeError)

时间:2018-06-01 10:25:09

标签: python-2.7 installation python-3.4 spacy

我正在尝试在VirtualBox中的Ubuntu上安装spaCy。我按照此处的说明操作:https://spacy.io/usage/#section-instructions

我按原样输入以下各项;我没有导航到任何目录。

我尝试了第一条指令:

pip install -U spacy

给出了:

error: could not delete '/usr/local/lib/python2.7/dist-packages/spacy/pipeline.so': Permission denied

所以在听完另一个问题的建议之后我会尝试:

sudo pip install -U spacy

这不会给我以前的错误,但现在我得到以下内容:

Cleaning up...
Command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/spacy/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-0HIkOS-record/install-record.txt --single-version-externally-managed --compile failed with error code -9 in /tmp/pip_build_root/spacy
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
load_entry_point('pip==1.5.4', 'console_scripts', 'pip')()
  File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 235, in main
return command.main(cmd_args)
  File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 161, in main
text = '\n'.join(complete_log)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 42: ordinal not in range(128)

因此,如果我尝试下载英语包(忽略上述错误):

python -m spacy download en

我明白了:

/usr/bin/python: No module named plac; 'spacy' is a package and cannot be directly executed

不确定这些信息是否相关:当我查看/ usr / lib时,我发现python2.7和python3.4;每个文件夹还包含一个spacy文件夹。可能是因为我在尝试解决问题时尝试使用python3上面的命令以及python。

有人可以帮我解决这个问题所以我可以安装spaCy并使用英文模型吗?

1 个答案:

答案 0 :(得分:1)

尝试更新pip:

 $ pip install -U pip

然后再次尝试Spacy安装。

在Spacy安装过程中,我在安装numpy的过程中收到了相同的错误消息。点子更新修复了问题,之后一切顺利,包括Spacy的英文模型下载。