在Python 3中使用Scrapy时出现Twisted Import Error

时间:2016-06-19 15:23:18

标签: python python-3.x ubuntu scrapy twisted

尝试在Python 3中使用Scrapy时出现以下错误。 我正在使用Ubuntu 16.04并且安装python3-twisted并没有解决问题。

  File "/home/fran/.local/lib/python3.5/site-packages/scrapy/crawler.py", line 150, in crawl
    crawler = self._create_crawler(crawler_or_spidercls)
  File "/home/fran/.local/lib/python3.5/site-packages/scrapy/crawler.py", line 166, in _create_crawler
    return Crawler(spidercls, self.settings)
  File "/home/fran/.local/lib/python3.5/site-packages/scrapy/crawler.py", line 46, in __init__
    self.extensions = ExtensionManager.from_crawler(self)
  File "/home/fran/.local/lib/python3.5/site-packages/scrapy/middleware.py", line 56, in from_crawler
    return cls.from_settings(crawler.settings, crawler)
  File "/home/fran/.local/lib/python3.5/site-packages/scrapy/middleware.py", line 32, in from_settings
    mwcls = load_object(clspath)
  File "/home/fran/.local/lib/python3.5/site-packages/scrapy/utils/misc.py", line 44, in load_object
    mod = import_module(module)
  File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 662, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/home/fran/.local/lib/python3.5/site-packages/scrapy/extensions/memusage.py", line 16, in <module>
    from scrapy.mail import MailSender
  File "/home/fran/.local/lib/python3.5/site-packages/scrapy/mail.py", line 23, in <module>
    from twisted.mail.smtp import ESMTPSenderFactory
ImportError: No module named 'twisted.mail.smtp'

2 个答案:

答案 0 :(得分:4)

Scrapy的Python 3支持仍处于测试阶段(根据release notes

  

不支持发送电子邮件

所以你不太可能做任何事来解决这个问题。

答案 1 :(得分:3)

  

Scrapy不支持使用Python 3发送邮件。

这是Twisted的限制,它还没有移植它的twisted.mail模块!
很遗憾,Pull请求正在等待

见:

  1. Twisted #8770

  2. [#8770] Port twisted.mail.smtp to Python 3 #509