Python ModuleNotFound,即使文件夹存在

Python ModuleNotFound,即使文件夹存在,python,scrapy,Python,Scrapy,我正在尝试构建一个runner.py文件,它将帮助我调试spider代码。py文件应该与调试函数一起使用,它是Visual Studio,带我到我的“Dogbrides”spider,并逐行运行Dogbrides spider代码。以下是我拥有的runner.py文件代码: import scrapy from scrapy.crawler import CrawlerProcess from scrapy.utils.project import get_project_settings fr

我正在尝试构建一个runner.py文件,它将帮助我调试spider代码。py文件应该与调试函数一起使用,它是Visual Studio,带我到我的“Dogbrides”spider,并逐行运行Dogbrides spider代码。以下是我拥有的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
发生异常:ModuleNotFoundError 没有名为“puppyfind”的模块 文件“C:\Users\UserName\projects\puppyfind\puppyfind\runner.py”,第11行,在 来自puppyfind.spiders.Dogbrides进口狗粮Spider 我在下面添加了“打印(sys.path)”的结果。以下是项目结构:


知道是什么原因导致了这个问题吗?

通过在我的代码开头添加以下内容,解决了这个问题:

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

我读过很多地方,第二行的语法应该只是路径的一部分,但这对我来说并不适用。将完整路径添加到append语句可以使一切正常工作

['C:\\Users\\UserName\\Anaconda3\\envs\\virtual\u workspace\\Scripts','C:\\Users\\UserName\\Anaconda3\\envs\\virtual\u workspace\\python37.zip','C:\\Users\\UserName\\Anaconda3\\envs\\virtual\u workspace\\DLLs','C:\\Users\\UserName\\Anaconda3\\envs\\virtual\u workspace\\lib','C:\\Users\\User\\Name\\Anaconda3\\envs\\virtual\u workspace','C:\\Users\\UserName\\Anaconda3\\envs\\virtual\u workspace\\lib\\site packages','C:\\Users\\UserName\\Anaconda3\\envs\\virtual\u workspace\\lib\\site packages\\win32','C:\\Users\\Users\\UserName\\Anaconda3\\envs\\virtual\u workspace\\lib\\lib\\站点包\\win32\\lib',C:\\Users\\UserName\\Anaconda3\\envs\\virtual\u workspace\\lib\\site packages\\Pythonwin',C:\\Users\\UserName\\projects\\puppyfind',C:\\Users\\UserName\\Anaconda3\\envs\\virtual\u workspace\\lib\\site packages\\IPython\\extensions']从您的评论很难判断:您是否尝试将带有puppyfind的路径直接添加到
PYTHONPATH
环境变量中?我认为在脚本中设置
sys.path
可能太晚了。请在启动脚本之前尝试全局设置
PYTHONPATH
环境。