我正在尝试构建一个Runner.py文件,以帮助我调试蜘蛛代码。应该使用Visual Studio的Debug函数来运行Runner.py文件,将我带到“ 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”(上面标记)。
我通过在scrapy shell中运行“ import sys”和“ print(sys.path)”来检查我的活动目录。确认“ 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
我在下面添加了“ print(sys.path)”的结果。这是项目结构:
有什么想法会导致这种情况吗?
答案 0 :(得分:0)
能够通过在代码的开头添加以下内容来解决此问题:
import sys
sys.path.append("c:\\Users\\Username\\projects\\puppyfind\\")
我读过很多地方,第二行的语法应该只是路径的一部分,但这对我不起作用。将完整路径添加到append语句使一切正常。