我正在尝试下载适用于 ubuntu 16.04 的“en”spacy 模块。我尝试按照文档中提供的方法安装它
pip install -U spacy
这很好用,接下来我用
python -m spacy download en
这次处决给了这个
/usr/bin/python: No module named spacy
我不太了解 Python 环境和 pip 的工作原理,但我猜想这与我的 PATH 有关
我可以知道哪里出了问题吗?我应该做哪些更改才能成功安装?
答案1
我今天自己也遇到了 spacy 的这个问题。我不太确定为什么它对其他每个包的响应都不同,不过这里有一个可行的解决方案。
Spacy 似乎识别 python 的绝对位置的路径而不是 ubuntu 上的虚拟环境中的相对链接。
对我来说,我遇到了虚拟环境的问题,但这将在全球范围内发挥作用(我实际上假设您在虚拟环境中遇到了这个问题)。
使用命令
which python
对我来说响应是:
/home/wccdev/insight/spacy-test/venv/bin/python
现在安装,而不是:
python -m spacy download en
使用你正在使用的 python 的路径,即上面的路径:
/home/wccdev/insight/spacy-test/venv/bin/python -m spacy download en
对于虚拟环境,PYTHONPATH 可能需要更改为工作目录。
当您从工作目录输入 python 并导入 scrapy 时,它将不起作用。但是,使用该版本的 python 的绝对路径并导入 scrapy,您将看到它起作用。
这似乎是 scrapy 的一个问题,但我今天才开始使用它,无法进一步评论!
例如,如果您有一个测试脚本,则需要使用虚拟环境的绝对路径运行它。