使用Scrapy时出现错误:['scrapy.telnet.TelnetConsole':没有名为conch twisted的模块]

5
在Ubuntu 13.04中,我从tarball安装了适用于python-2.7的Scrapy。执行爬取命令会导致以下错误:

ImportError: Error loading object 'scrapy.telnet.TelnetConsole': No module named conch

我还尝试使用easy_install和tarball安装twisted conch,并从python路径中删除了scrappy.egg、.info和主scrappy文件夹。 重新安装scrapy也无济于事。 有人可以指导我吗?
3个回答

8
在Ubuntu系统中,尽可能避免使用easy_install命令。相反,您应该使用apt-getaptitude、"Ubuntu软件中心"或其他发行版提供的工具。例如,只需执行以下单个命令即可安装Scrapy及其所有未安装的依赖项:
$ sudo apt-get install python-scrapy

easy_install不如apt-get安装东西那么好用。你无法使用它的原因可能是它没有明智地安装好东西,特别是关于系统上已经安装的内容。遗憾的是,它也没有留下记录,因此卸载很困难或者不可能。现在,你的系统可能有一个大混乱,防止正确的安装工作正常运行(或者也许不会,你可能很幸运)。很难说是否出现这种情况,因为构成一个工作系统的部分非常多,它们都需要恰当地配合,而且很难枚举它们以便检查,更何况列举每个部分被破坏的方式。


2
不要使用Ubuntu提供的python-scrapy包,它们通常太旧且速度太慢,无法跟上最新的Scrapy。请参考文档 - tread

0
  1. 确保您安装了Python开发头文件: apt-get install build-essential python-dev

  2. 使用pip安装Scrapy: pip install Scrapy


你引用了一半的文档,然后就迷失了方向。http://doc.scrapy.org/en/latest/topics/ubuntu.html#topics-ubuntu - Jean-Paul Calderone
你的回答明显不被推荐,甚至在你评论中的链接中都是如此说明的。我回答中展示的步骤才是推荐的方法。也许为了避免尴尬,你应该删除你的回答。 - tread
2
我不会因为犯错误而感到尴尬。犯错误是学习的重要组成部分。我也不太关心我的外表,以至于需要隐藏我有时不知道答案的事实。在这种情况下,我的答案可能不完整。如果我们阅读您提供的页面,其中包含设置本地软件包存储库的说明,该存储库包含最新的 scrapy 软件包。完成此操作后,您可以使用系统软件包管理器使用 apt-get 正确安装新版本的 scrapy - 这比使用 pip 做一些简单的事情更好,尽管 virtualenv + pip 可能还可以。 - Jean-Paul Calderone
“这比使用标准的Python包管理器做一些幼稚的事情要好得多。我没有时间和自负的程序员打交道。对于那些为了自己的利益和自尊心而不是更好的代码而努力的人,我会投反对票并感到厌恶。” - tread
1
很抱歉您感到不快。也许这个链接能帮到您:http://bit.ly/1N44sW9。祝您有美好的一天。 - Jean-Paul Calderone
1
@Jean-PaulCalderone,要让二进制文件被包含在“Ubuntu”或“Debian”的可信存储库中需要大量的时间和测试。如果您想保持最新状态,请使用语言级别的软件包管理器,自行编译,或者在最坏的情况下像您建议的那样添加不受信任的源到“apt”。 - tread

0

Ubuntu软件包 自版本0.10开始新添加。

Scrapinghub发布的apt-gettable软件包通常比Ubuntu的更新,也更稳定,因为它们是从Github仓库(主分支和稳定分支)不断构建出来的,所以包含了最新的bug修复。

使用这些软件包:

将用于签署Scrapy软件包的GPG密钥导入到APT密钥环中:

Step.1

使用以下命令创建/etc/apt/sources.list.d/scrapy.list文件:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 627220E7

Step.2

echo 'deb http://archive.scrapy.org/ubuntu scrapy main' | sudo tee /etc/apt/sources.list.d/scrapy.list

更新软件包列表并安装scrapy-0.24软件包:

Step.3

sudo apt-get update && sudo apt-get install scrapy-0.24

注意

如果您正在尝试升级Scrapy,请重复第3步。 警告

python-scrapy是由官方Debian存储库提供的不同软件包,非常过时,并且不受Scrapy团队支持。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接