首页 > 解决方案 > 在pycharm中调试时出现“ModuleNotFoundError”

问题描述

在此处输入图像描述这是我第一次调试我的代码。虽然 pycharm 成功地向我推荐了模块的名称,但是当我调试代码时它说模块未找到错误。需要帮忙

标签: python-3.xdebuggingscrapypycharm

解决方案


首先,不要将代码或错误作为图像发布,因为这不允许任何人在搜索中找到您的问题。它在如何询问页面中明确提到

您正在目录中启动runnerglassesshop因此从它的角度来看只有一个glassesshop包,而不是从eye-glasses项目的角度来看的两个

将您的 PyCharm 运行配置更改为在$PROJECT_DIR$目录中启动,然后脚本将是glassesshop/runner.py,或者,当然,向上移动runner.py一个目录


虽然这不是您所要求的,但您也可以像正常的 Python 代码一样调试您的蜘蛛——不涉及所有的 Scrapy 机器——通过main在蜘蛛的底部放置一个并正常运行它;如果您想要更正式的验证,同样的技巧也适用于unittestorpytest

class MySpider(Spider):
   def parse(self, response):
      pass

if __name__ == '__main__':
    with open("a-sample-response.html") as fh:
        html = fh.read()
    req = Request(url="https://example.com")
    resp = HtmlResponse(url=req.url, request=req, body=html)
    s = MySpider()
    s.parse(resp)

推荐阅读