Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Scrapy: ImportError: No module named items

Tags:

When I try to run scrapy I get this error ImportError: No module named items

I just added in items.py the list of things I want to scrape and in the spider.py I have imported the class with from spider.items import SpiderItem

Dont know why its not loading it...

Package layout is...

./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 
like image 585
jsjc Avatar asked May 13 '12 09:05

jsjc


2 Answers

From this message on google groups:

Your spider module is named the same as your scrapy project module, so python is trying to import items relative to byub.py spider.

You are facing a common regret of python imports, see http://www.python.org/dev/peps/pep-0328

quicks fixes:

  • rename your spider module to byub_org.py or similar.
  • or use from __future__ import absolute_import in byub.py spider.
  • or rename your project to something like byubbot.
like image 63
Nick Craig-Wood Avatar answered Oct 26 '22 23:10

Nick Craig-Wood


I happend to face this problem because my spider name is the same with the scrapy project.

Just rename the spider name will make it.

like image 34
hahakubile Avatar answered Oct 26 '22 23:10

hahakubile