2016-02-24 76 views
0

我試圖在heroku上運行Scrapy蜘蛛。這裏是我的requirements.txtScrapy + heroku:沒有模塊命名'扭曲的郵件'

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'

我在做什麼錯在這裏?我從不直接導入​​。看來,它是通過進口scrapy

+1

您正在使用Python 3.4,並且扭曲的郵件在Python 3中不可用。您使用的是什麼版本的Scrapy? Python3上的Scrapy不支持發送電子郵件(可能永遠不會)。 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

看到你的答案。事實上,Python 3不支持scrapy 1.0.5。Scrapy 1.1是第一個支持Python 3的版本(我寫這個時只有1.1rc1可用) –

回答

1

問題是當我剛剛升級scrapy版本1.1rc1修復。