【问题标题】:How to import modules in sub-packages?如何在子包中导入模块?
【发布时间】:2019-07-01 19:45:39
【问题描述】:

重组我的代码后,我无法导入一些模块。

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

    |------- 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

我将不胜感激。

【问题讨论】:

  • 您是在导入nltk 还是NLTK
  • 首先你必须为每个包和子包添加一个__init__.py
  • 我的错,我刚刚审查了我的问题。有一些错误。我正在导入我的 NLTK 包,并且在两个模型文件夹中都有一个 init.py 模块。

标签: python python-import


【解决方案1】:

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

from model.classifier import *

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

【讨论】:

  • 其实这只是我的问题中的一个错误。但问题似乎已经解决了。我没有尝试以“正常”方式导入它,因为 pycharm 没有以这种方式找到 mudules,但执行有效。所以谢谢我猜。
猜你喜欢
  • 2018-01-31
  • 2023-03-07
  • 2020-12-06
  • 1970-01-01
  • 2017-02-23
  • 1970-01-01
  • 2020-04-09
  • 2017-02-25
  • 2013-12-28
相关资源
最近更新 更多