如何将我自己的模块导入到一个粗糙的项目中?

2024-10-03 17:17:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图写一个多管道粘蜘蛛。我选择与spider属性一起使用的管道。属性是我自己编写的枚举类型。现在的问题是在管道类中导入该枚举。每次尝试导入时,都会出现以下错误:

from data.file_types import FileTypes
builtins.ModuleNotFoundError: No module named 'data'

我已经尝试了不同的变体来放置enum类,并在相对导入和绝对导入之间切换。如果我把enum类放在一个独立于scrapy包的包中,如果我直接运行管道文件,我可以导入并使用enum,但是如果我想在shell上运行spider,我仍然会得到一个错误。你知道吗

我目前的项目结构是:

noveldownloader:
    data
        enum_file.py
        __init__.py
    novelscraper
        novelscraper
           pipelines
           spiders
           etc
        __init__.py
        scrapy.cfg

我当前的导入是: from data.file_types import FileTypes

如果这有助于我将代码上载到GitHub: https://github.com/JustACodingFox/NovelDownloader


Tags: frompyimportdata属性管道init错误