2017-01-28 2 views
1

У меня есть обходчик для сканирования, я хочу использовать локальную библиотеку в своем сканирующем устройстве.Python - Не удалось импортировать локальную библиотеку

Итак, вот мой каталог модель:

enter image description here

Существует два важных файлов дб/base.py и /crawler/spiders/adilisik.py

здесь base.py

from sqlalchemy import create_engine 
from sqlalchemy.ext.declarative import declarative_base 
from sqlalchemy.orm import sessionmaker 

Base = declarative_base() 

engine = create_engine("mysql+pymysql://xxx:[email protected]/test-db") 
Session = sessionmaker(bind=engine) 
session = Session() 

вот несколько строк из adilisik.php

# -*- coding: utf-8 -*- 
    import hashlib 
    import re 
    import scrapy 

    from crawler.db.base import Base 

    class AdilisikSpider(scrapy.Spider): 
     name = "adilisik" 
     allowed_domains = ['adl.com.tr'] 
     start_urls = ['http://adl.com.tr'] 
     urls = set() 


     def __init__(self, retailer='', *args, **kwargs): 
      super(AdilisikSpider, self).__init__(*args, **kwargs) 

     def parse(self, response): 
..... 
..... 

Но я не могу заставить этот код работать.

эта линия ломает мой код.

from crawler.db.base import Base 

Я получаю эту ошибку:

from crawler.db.base import Base 
ImportError: No module named 'crawler.db' 
Could not load spiders from module 'crawler.spiders'. Check SPIDER_MODULES setting 

Что я делаю не так?

Edit 1:

После Moinuddin Quadri's suggestion я создал инициализации .py в каталоге гусеничного и переименован в каталог искателя. Но теперь я получаю ошибку ниже

ImportError: No module named 'crawler.settings' 
+0

Если я правильно прочитал каталог, для файла settings.py команда import будет 'import crawler.spiders.settings', если вы хотите импортировать его в __imit__.py в каталоге искателя – Alex

ответ

1

__init__.py отсутствует в вашем гусеничных каталога. Добавьте пустой __init.__.py, а затем вы сможете импортировать модуль crawler.db.

Кроме того, обратите внимание, что у вас есть два каталога: crawler (+ еще один, который является вашим проектом). Переименуйте один из каталогов, иначе вам может быть больше ошибок, связанных с импортом.

+0

Пожалуйста, проверьте Edit 1, ваше предложение, к сожалению, не устранило мою проблему. – fobus

+1

Это новая ошибка (отдельная), возможно, связанная с отсутствием 'settings.py' в проекте. Я не знаком с «scrapy». Поэтому я не смогу оказать вам большую помощь. Но публикация новой ошибки как отдельного вопроса с полным стеком-трассировкой может увеличить ваш шанс получить решение. –

+1

BTW Я думаю, что это будет очень распространенная проблема, поскольку она связана с настройкой нового проекта. Перейти к этой ошибке поможет вам решить эту проблему –

Смежные вопросы