попытка относительного импорта без известного родительского пакета при запуске CrawlerProcess - PullRequest
0 голосов
/ 09 июля 2020

Вот структура моего проекта поискового робота python

tmallspider (a folder)
spiders (a folder)
    tmall_spider.py
items.py

Я работаю в tmall_spider.py и хочу импортировать из items.py

from ..items import TmallspiderItem

Этот оператор работает, и моя программа запускается, если я набираю в терминале следующее:

scrapy crawl tspider

Однако возникает ошибка:

attempted relative import with no known parent package

Если я добавляю crawlerProcess и пытаюсь запустить tmall_spider.py . Мой CrawlerProcess выглядит так:

process = CrawlerProcess(settings=None, install_root_handler=True)
process.crawl('tspider')
process.start()

Есть идеи, как это исправить? Мне нужен CrawlerProcess, потому что я хочу запускать несколько пауков последовательно

1 Ответ

0 голосов
/ 09 июля 2020

Вы пробовали абсолютный импорт вместо относительного? Дважды проверьте написание ваших файлов и класса в items.py, посмотрев на фрагмент кода, который должен работать.

Я бы не стал беспокоиться о CrawlerProcess, он не должен мешать относительному импорту.

...