2016-02-24 1 views
0

Я пытаюсь запустить паук Scrapy на heroku. Вот мой requirements.txt:Scrapy + heroku: нет модуля с именем «twisted mail»

Flask==0.10.1 
gunicorn==0.17.2 
requests==2.4.3 
python-dateutil==2.2 
cffi==1.5.0 
Scrapy==1.0.5 
Twisted==15.5.0 

И когда я толкнул приложение heroku, журналы сказал, что Twisted был успешно установлен. Некоторые, где в коде у меня есть:

import scrapy 
from scrapy.crawler import CrawlerProcess 

def crawl(): 
    process = CrawlerProcess({ 
     'USER_AGENT': 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)' 
    }) 

    process.crawl(WallpaperSpider) 
    process.start() 
    return wallpaper_url 

Но я получаю следующее сообщение об ошибке, когда я пытаюсь запустить этот код на heroku:

File "/app/.heroku/python/lib/python3.4/site-packages/scrapy/crawler.py", line 46, in init

File "/app/netimen.py", line 141, in wallpaper

ImportError: No module named 'twisted.mail'

Что я здесь делаю неправильно? Я никогда не импортирую twisted.mail напрямую. Кажется, он импортирован scrapy

+1

Вы используете Python 3.4, а перекрученная почта недоступна в Python 3 .. Какую версию Scrapy вы используете? Scrapy на Python3 не поддерживает отправку электронной почты (возможно, никогда не будет). Scrapy 1.1rc1 импортирует 'twisted.mail' [в' scrapy.mail.MailSender :: _ sendmail'] (https://github.com/scrapy/scrapy/blob/1.1.0rc1/scrapy/mail.py#L105). Это должно произойти только при отправке почты. Несколько расширений могут отправлять почту: 'scrapy.extensions.statsmailer.StatsMailer' и' scrapy.extensions.memusage.MemoryUsage'. Вы используете любой из них? –

+0

Я использую scrapy '1.0.5' и не хочу отправлять какие-либо письма. Все эти импровизации происходят во время сеанса терапии. – netimen

+0

Видел ваш ответ. Действительно, scrapy 1.0.5 не поддерживается на Python 3. Scrapy 1.1 является первой версией, поддерживающей Python 3 (только 1.1rc1 доступен, когда я пишу это) –

ответ

1

Проблема была исправлена, когда я только что обновил scrapy до версии 1.1rc1.