2012-05-13 88 views
14

當我嘗試運行scrapy我得到這個錯誤導入錯誤:沒有模塊命名項Scrapy:導入錯誤:沒有模塊命名項

我只是在items.py添加的東西,我想湊和蜘蛛列表的.py我有進口與spider.items導入SpiderItem

不知道爲什麼它不加載它...

包佈局...

./spider 
./spider/pipelines.py 
./spider/settings.py 
./spider/spiders 
./spider/spiders/spider_spider.py 
./spider/spiders/test.py 
./spider/spiders/__init__.py 
./spider/middlewares.py 
./spider/__init__.py 
./spider/items.py 
+0

你的中等收入毫無意義。你可能有(相對)導入問題。你應該發佈你的包裝佈局,那麼也許有人可以幫助你。 – mata

回答

24

this message on google groups

您的蜘蛛模塊與您的scrapy項目模塊命名相同,所以 python試圖導入相對於byub.py蜘蛛的項目。

你正面臨着蟒蛇進口的共同遺憾,看到 http://www.python.org/dev/peps/pep-0328

盡皆修復:

  • 重命名你的蜘蛛模塊byub_org.py或相似。
  • 或從__future__ import absolute_import在byub.py蜘蛛中使用。
  • 或將您的項目重命名爲像byubbot。
+1

感謝尼克,但我已經發現,並試圖解決它......並沒有這個問題,或者至少我沒有得到解決方案... – jsjc

2

我碰巧遇到這個問題,因爲我的蜘蛛名字和scrapy項目一樣。

只需重新命名蜘蛛名稱就可以了。

+0

沒有解決我的問題。 – AnovaConsultancy

0

您在spider.py文件中導入語句後缺少以下行。

類ProjectnamegoeshereSpider(BaseSpider):

0

不重命名的文件,更改from spider.items import SpiderItemfrom .. import items並參考項目作爲items.SpiderItem在你的代碼。

1

抱歉。儘量放在文件 ./spider/__init__.py

import items 
1

這是一個很好的解決了重命名蜘蛛模塊。

但是不要忘記刪除相關*.pyc文件重命名後,考慮到*.pyc文件播放像緩存的作用。

相關問題