Scrapy - 找不到名为mail.smtp的模块

9

系统:Ubuntu 14.04

我使用命令sudo pip install scrapy安装了Scrapy。

我正在按照这里的教程进行操作。

当我在此步骤运行命令scrapy crawl dmoz时,出现以下错误:

2015-07-04 15:28:58 [scrapy] INFO: Scrapy 1.0.1 started (bot: tutorial)
2015-07-04 15:28:58 [scrapy] INFO: Optional features available: ssl, http11
2015-07-04 15:28:58 [scrapy] INFO: Overridden settings: {'NEWSPIDER_MODULE': 'tutorial.spiders', 'SPIDER_MODULES': ['tutorial.spiders'], 'BOT_NAME': 'tutorial'}
Traceback (most recent call last):
  File "/usr/local/bin/scrapy", line 11, in <module>
    sys.exit(execute())
  File "/usr/local/lib/python2.7/dist-packages/scrapy/cmdline.py", line 143, in execute
    _run_print_help(parser, _run_command, cmd, args, opts)
  File "/usr/local/lib/python2.7/dist-packages/scrapy/cmdline.py", line 89, in _run_print_help
    func(*a, **kw)
  File "/usr/local/lib/python2.7/dist-packages/scrapy/cmdline.py", line 150, in _run_command
    cmd.run(args, opts)
  File "/usr/local/lib/python2.7/dist-packages/scrapy/commands/crawl.py", line 57, in run
    self.crawler_process.crawl(spname, **opts.spargs)
  File "/usr/local/lib/python2.7/dist-packages/scrapy/crawler.py", line 150, in crawl
    crawler = self._create_crawler(crawler_or_spidercls)
  File "/usr/local/lib/python2.7/dist-packages/scrapy/crawler.py", line 166, in _create_crawler
    return Crawler(spidercls, self.settings)
  File "/usr/local/lib/python2.7/dist-packages/scrapy/crawler.py", line 46, in __init__
    self.extensions = ExtensionManager.from_crawler(self)
  File "/usr/local/lib/python2.7/dist-packages/scrapy/middleware.py", line 56, in from_crawler
    return cls.from_settings(crawler.settings, crawler)
  File "/usr/local/lib/python2.7/dist-packages/scrapy/middleware.py", line 32, in from_settings
    mwcls = load_object(clspath)
  File "/usr/local/lib/python2.7/dist-packages/scrapy/utils/misc.py", line 44, in load_object
    mod = import_module(module)
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/usr/local/lib/python2.7/dist-packages/scrapy/extensions/memusage.py", line 16, in <module>
    from scrapy.mail import MailSender
  File "/usr/local/lib/python2.7/dist-packages/scrapy/mail.py", line 23, in <module>
    from twisted.mail.smtp import ESMTPSenderFactory
ImportError: No module named mail.smtp

你是否已经安装了Twisted? - TheGeorgeous
尝试更新或重新安装Twisted。 - Artur Gaspar
@TheGeorgeous 看起来我没有它。请将其提供为答案,以便我可以接受并关闭问题。 - callmekatootie
Scrapy 依赖于 Twisted。奇怪的是它没有被安装。 - Artur Gaspar
2个回答

18

我遇到了同样的问题。 安装twisted解决了这个问题。

sudo apt-get install python-twisted

我必须做的事情完全正确。谢谢你。 - Nabin
有没有一种使用 pip 安装它的方法? - Batandwa
可能不行,因为python-twisted在pip上不可用。 - THIS USER NEEDS HELP
当安装Scrapy时,为什么这个不作为依赖项安装呢?Pip应该管理依赖关系,对吧? - Jon Carter
1
Scrapy突然停止工作并抛出了这个邮件错误...但上述建议起作用了。 - larrywgray

3

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