2012-05-13 34 views
14

Khi tôi cố gắng chạy scrapy tôi nhận được ImportError lỗi này: Không có mô-đun tên mụcScrapy: ImportError: Không có mô-đun tên mục

Tôi chỉ cần thêm trong items.py danh sách những điều tôi muốn cạo và trong nhện py tôi đã nhập khẩu các lớp học với từ spider.items nhập SpiderItem

Dont biết tại sao mình không tải nó ...

bố trí trọn gói là ...

./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

mối quan hệ trung gian của bạn không có ý nghĩa. bạn có thể có vấn đề với nhập khẩu (tương đối). bạn nên đăng bố cục gói của mình, sau đó có thể ai đó có thể giúp bạn. – mata

Trả lời

24

từ this message on google groups:

Mô-đun mạng nhện của bạn được đặt tên giống như mô-đun dự án cào của bạn, do đó, python đang cố gắng nhập các mục tương ứng với byub.py spider.

Bạn đang phải đối mặt với một sự hối tiếc phổ biến của hàng nhập khẩu python, xem http://www.python.org/dev/peps/pep-0328

nhanh chóng sửa chữa:

  • đổi tên mô-đun nhện của bạn để byub_org.py hoặc tương đương.
  • hoặc sử dụng từ __future__ import absolute_import trong byub.py spider.
  • hoặc đổi tên dự án của bạn thành một thứ như byubbot.
+1

Cảm ơn Nick nhưng tôi đã tìm thấy và cố gắng giải quyết nó ... và đó không phải là vấn đề hoặc ít nhất tôi không nhận được một giải pháp ... – jsjc

2

Tôi rất vui khi đối mặt với vấn đề này vì tên nhện của tôi giống với dự án cào.

Chỉ cần đổi tên tên nhện sẽ làm cho nó.

+0

Không giải quyết được vấn đề của tôi. – AnovaConsultancy

0

Bạn đang thiếu dòng sau sau câu lệnh nhập trong tệp spider.py của mình.

lớp ProjectnamegoeshereSpider (BaseSpider):

0

Nếu không đổi tên bất kỳ tập tin, thay đổi from spider.items import SpiderItem-from .. import items và tham khảo các mục như items.SpiderItem trong mã của bạn.

1

Xin lỗi vì đã necroposting. Cố gắng đưa vào tập tin ./spider/__init__.py

rằng

import items 
1

Đó là một giải pháp tốt để đổi tên mô-đun nhện của bạn.

Nhưng đừng quên để xóa các tập tin liên quan *.pyc sau khi đổi tên, xem xét rằng các tập tin *.pyc đóng vai trò như bộ nhớ cache .

Các vấn đề liên quan