我正在构建几个Python库/应用程序。我对Python还是比较陌生,并且在导入系统方面感到很苦恼。我认为我对应用程序内/模块内的导入有很好的处理,但是我现在正尝试从正在构建的库中导入模块以公开发布到我的其他项目中,而我却无法做到让它识别要导入的子模块。
有问题的库为https://github.com/utoxin/PyChance
并且我正在尝试从pychance / data / simpletable_class.py导入'SimpleTable'类。我尝试了多种不同的导入语句,甚至尝试了库的不同组织,包括将simpleable.py移至顶层目录,以及库的init。py文件中的各种导入行。
我的IDE建议
from pychance import SimpleTable
使用我当前的设置,但随后立即说它在init。py中找不到对此的引用。
如果我尝试类似的事情
from pychance.data import SimpleTable
它不识别'数据'存在。
我可能缺少一些基本知识,但我无法弄清楚自己在做什么错。
ERRATUM
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
的包装,以下两个输入是功能:
from pychance.data.simpletable_class import SimpleTable
from pychance.data import SimpleTable
我没有遇到PyCharm问题。
您的IDE可能有问题。