ModuleNotFound, хотя папка присутствует - PullRequest
0 голосов
/ 04 ноября 2019

Я пытаюсь создать файл runner.py, который поможет мне отладить мой код паука. Предполагается, что файл runner.py будет использоваться с функцией отладки Visual Studio, перенесите меня к моему пауку «dogbreeds» и построчно прогуляйтесь по коду паука dogbreeds. Вот код файла runner.py, который у меня есть:

import scrapy
from scrapy.crawler import CrawlerProcess
from scrapy.utils.project import get_project_settings
from **puppyfind**.spiders.dogbreeds import dogbreedsSpider

process = CrawlerProcess(settings = get_project_settings())
process.crawl(dogbreedsSpider)
process.start()

Проблема, с которой я столкнулся, заключается в том, что мой файл runner.py выдает ошибку ModuleNotFound и говорит, что модуль "puppyfind" (выделенный выше) не можетбыть найденным.

Я проверил свои активные каталоги, запустив «import sys» и «print (sys.path)» в оболочке scrapy. Что подтверждает, что «C: \ Users \ UserName \ projects \ puppyfind» является одним из активных каталогов. Внутри этой папки вы должны найти подпапку "puppyfind", и именно здесь я получаю ошибку ModuleNotFound.

Вот точная ошибка:

Exception has occurred: ModuleNotFoundError
No module named 'puppyfind'
File "C:\Users\UserName\projects\puppyfind\puppyfind\runner.py", line 11, in <module>
    from puppyfind.spiders.dogbreeds import dogbreedsSpider

IВы добавили результаты «print (sys.path)» ниже. Вот структура проекта: Folder Structure

Есть идеи, что может быть причиной этого?

1 Ответ

0 голосов
/ 06 ноября 2019

удалось решить проблему, добавив в начало моего кода следующее:

import sys
sys.path.append("c:\\Users\\Username\\projects\\puppyfind\\")

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...