无法让子模块在另一个应用程序中正确导入

Can't get submodule to import properly in another app

我正在构建几个 Python libraries/apps。我对 Python 还是比较陌生,而且我在导入系统方面遇到了很多困难。我想我已经很好地处理了 intra-app/module 导入,但我现在正尝试从我正在构建的库中导入模块 public 发布到我的其他项目中,我平了out 无法让它识别要导入的子模块。

有问题的库是 https://github.com/utoxin/PyChance

我正在尝试从 pychance/data/simpletable_class.py 导入 'SimpleTable' class。我尝试了多种不同的导入语句,甚至库的不同组织,包括将 simpleable.py 移至顶级目录,以及库的 init 中的各种导入行。 py 文件。

我的 IDE 建议

from pychance import SimpleTable

使用我当前的设置,但立即表示无法在 init.py.

中找到对它的引用

如果我尝试

from pychance.data import SimpleTable

它无法识别 'data' 存在。

我可能遗漏了一些基本的东西,但我不知道我做错了什么。

勘误表

PyChance 包包含以下源文件:

pychance/__init__.py
pychance/pychance_class.py
pychance/data/__init__.py
pychance/data/simpletable_class.py
pychance/parsing/__init__.py
pychance/parsing/parser.py
pychance/utility/__init__.py
pychance/utility/singleton.py

pychance/data/__init__.py 的来源:

from .simpletable_class import SimpleTable

pychance/data/simpletable_class.py 的来源:

import random


class SimpleTable:
    ...


if __name__ == '__main__':
    ...

(*) 源代码被截断。

根据 PyChance 的包装,以下 2 个导入是函数式的:

from pychance.data.simpletable_class import SimpleTable
from pychance.data import SimpleTable

我在使用 PyCharm 时没有遇到任何问题。

您的 IDE 可能有问题。