2016-05-16 33 views
0

我試圖通過Portia創建部署蜘蛛。 Portia,scrapyd - 都是最新版本。無法將scrapy部署到scrapyd服務器

我跑scrapyd服務器只是命令:

scrapyd 

我得到我的機器上這個結果在本地:

$> cd PROJECT_PATH_HERE; 
$> scrapyd-deploy 
Packing version 1463420166 
Deploying to project "retail" in http://X.X.X.X:6800/addversion.json 
Server response (200): 
{"status": "error", "message": "AttributeError: 'list' object has no attribute 'iteritems'", "node_name": "vaua0048313.online-vm.com"} 

在服務器端(的Ubuntu 12.04。 5 LTS):

[email protected]:~# scrapyd 
2016-05-16 17:35:42+0000 [-] Log opened. 
2016-05-16 17:35:42+0000 [-] twistd 16.1.1 (/usr/bin/python 2.7.3) starting up. 
2016-05-16 17:35:42+0000 [-] reactor class: twisted.internet.epollreactor.EPollReactor. 
2016-05-16 17:35:42+0000 [-] Site starting on 6800 
2016-05-16 17:35:42+0000 [-] Starting factory <twisted.web.server.Site instance at 0x2f5d950> 
2016-05-16 17:35:42+0000 [Launcher] Scrapyd 1.1.0 started: max_proc=12, runner='scrapyd.runner' 
2016-05-16 17:36:06+0000 [_GenericHTTPChannelProtocol,0,78.111.181.96] Unhandled Error 
     Traceback (most recent call last): 
      File "/usr/local/lib/python2.7/dist-packages/twisted/web/http.py", line 1767, in allContentReceived 
      req.requestReceived(command, path, version) 
      File "/usr/local/lib/python2.7/dist-packages/twisted/web/http.py", line 768, in requestReceived 
      self.process() 
      File "/usr/local/lib/python2.7/dist-packages/twisted/web/server.py", line 183, in process 
      self.render(resrc) 
      File "/usr/local/lib/python2.7/dist-packages/twisted/web/server.py", line 234, in render 
      body = resrc.render(self) 
     --- <exception caught here> --- 
      File "/usr/local/lib/python2.7/dist-packages/scrapyd/webservice.py", line 17, in render 
      return JsonResource.render(self, txrequest) 
      File "/usr/local/lib/python2.7/dist-packages/scrapyd/utils.py", line 19, in render 
      r = resource.Resource.render(self, txrequest) 
      File "/usr/local/lib/python2.7/dist-packages/twisted/web/resource.py", line 250, in render 
      return m(request) 
      File "/usr/local/lib/python2.7/dist-packages/scrapyd/webservice.py", line 79, in render_POST 
      spiders = get_spider_list(project, version=version) 
      File "/usr/local/lib/python2.7/dist-packages/scrapyd/utils.py", line 116, in get_spider_list 
      raise RuntimeError(msg.splitlines()[-1]) 
     exceptions.RuntimeError: AttributeError: 'list' object has no attribute 'iteritems' 

2016-05-16 17:36:06+0000 [-] "78.111.181.96" - - [16/May/2016:17:36:05 +0000] "POST /addversion.json HTTP/1.1" 200 135 "-" "Python-urllib/2.7" 

我做錯了什麼?

+0

你可以發佈你的slybot,scrapy和scrapyd版本,所以我們可以嘗試重新創建它? –

+0

@RuairiFahy slybot == 0.13.0b18,Scrapy == 1.0.0,scrapyd-client == 1.0.1 – twoface88

回答

0

我認爲問題來自您的setting.py。該ITEM_PIPELINES應該由下面的字典格式,當您使用的1.10.0版本scrapy來指定,

ITEM_PIPELINES = { 
    'coolscrapy.pipelines.ArticleDataBasePipeline': 5, 
} 
0

修改ITEM_PIPELINESPortia_Projects /蜘蛛/ setting.py

ITEM_PIPELINES = {'slybot.dupefilter.DupeFilterPipeline':1}