如何解决“ ModuleNotFoundError”没有名为“ XXXX”的模块

时间:2019-04-18 14:24:36

标签: python scrapy anaconda spyder

我在Spyder / Anaconda环境中正在抓狂。我有一个项目,即时通讯试图与items.py一起使用,无论我做什么,我都无法识别它,不断收到“ ModuleNotFoundError”

这是我的dsg_spider.py和items.py文件中的内容。 只要我不尝试使用Spider中的items.py文件,它就会按预期运行并运行。.我只是想获取结构化格式的数据,并希望在我继续之前进行设置。

from parsimonious import Grammar

grammar = Grammar(r"""
    start = term

    term = ('(' _* term1 _* ')') / term1
    term1 = app / atom1

    atom = ('(' _* atom1 _* ')') / atom1
    atom1 = abs / id

    abs = 'λ' _* id _* '.' _* term

    app = atom _+ term

    id = ~"[A-Za-z]+"

    _ = ~"[^\S\n\r]"u
""")

print(grammar.parse("x y z w"))

文件“ F:/Anaconda/DSG2/DSG2/spiders/dsg_spider.py”,第4行,在     从DSG2.items导入Dsg2Item

ModuleNotFoundError:没有名为“ DSG2”的模块

这是items.py中的代码

import scrapy
import sys
import os
from DSG2.items import Dsg2Item



        doc = Dsg2Item()
        doc['sku'] = response.xpath("//span[@itemprop='sku']/text()").extract()
        doc['price'] = response.xpath("//span[@itemprop='price']/text()").extract()
        doc['description'] = response.xpath("//meta[@itemprop='name']/@content").extract()

我拥有所有文件的文件夹结构

import scrapy

class Dsg2Item(scrapy.Item):
     description = scrapy.Field()
     sku = scrapy.Field()
     price = scrapy.Field()
#brand = brand
#description = name

2 个答案:

答案 0 :(得分:1)

在我看来,解决方案是在Spyder中,转到项目---新建项目---选择现有目录,然后导航到项目文件夹并选择创建,创建一个项目,当我运行它时,它不再抱怨..

答案 1 :(得分:0)

我认为您忘记了将软件包添加到pythonpath中。

import sys
sys.path.insert(0, "/path/to/your/package_or_module")