我想安装portia。它需要scrapy
和slybot
。我还安装了virtualenv
(推荐)并执行了virtualenv Portia
,以便仅为该项目创建一个python虚拟环境。现在它需要使用twistd -n slyd
启动twisted
服务器,但随后它抛出了一个错误:
File "/home/john/Downloads/portia-master/slybot/slybot/linkextractor/__init__.py", line 6, in <module>
from .base import BaseLinkExtractor, ALLOWED_SCHEMES File "/home/john/Downloads/portia-master/slybot/slybot/linkextractor/base.py", line 6, in <module>
from scrapy.linkextractor import IGNORED_EXTENSIONS ImportError: No module named linkextractor
我安装了Ubuntu 12.04:python 2.7, pip, python-scrapy, python-twisted
我以前没有使用过pip
和virtualenv
,我上面描述的部署工作流程(例如ENVIRONMENT变量,其他virtualenv/pip
配置)是否有什么问题?
3条答案
按热度按时间r1zk6ea11#
在python3中,只需将
s
添加到linkextractor
的末尾即可。替换:
与:
并享受它。
有关详细信息,请阅读here中的Scrapy文档。
w8rqjzmb2#
它遗漏了中间部分;
contrib
,其中linkextractor
是子模块。它应该是:
vh0rcniy3#
好吧,我认为你应该在github scrapinhub repo中看到这个问题(https://github.com/scrapinghub/portia/issues/13)。
我解决了一些导入错误,将库安装在我的系统中而不是virtualenv中。
在我的例子中,这些库是jsonschema(
pip install jsonschema
)和slybot(pip install -e slybot
),在我运行requirements.txt之后。顺祝商祺!