如何在子包中导入模块?

How to import modules in sub-packages?

重构我的代码后,我在导入一些模块时遇到了问题。

我的代码结构如下所示(NLTK 和 pytorch 包都在同一个名为项目的包中)。

    |------- NLTK_SKLEARN/
    |           |
    |           |----- model/
    |           |          |----__init__.py
    |           |          |----classifier.py
    |           |----train.py          
    |           |
    |------- pytorch/
    |           |
    |           |----- model/
    |           |          |----__init__.py
    |           |          |----classifier.py
    |           |----train.py 
    |           |  

我试图从每个训练模块导入其子包的分类器。我已经尝试了一些东西并且 pycharm 似乎找到了所有模块,但是在执行时我得到了一个模块未找到错误。

ModuleNotFoundError: 没有名为 "NLTK"

的模块

到目前为止我尝试过的:

from NLTK_SKLEARN.model import classifier

from .model.classifier import ClassifierChunker

如有任何帮助,我将不胜感激。

Python 导入区分大小写。你应该使用小写字母。 假设您尝试从 __train.py__ 脚本

导入库
from model.classifier import *

这会将所有定义的 类 拉到 __train.py__ 运行时。