我有一个像这样被删除的python包:
<main package>
|-> __init__.py
<sub package1>
|-> __init__.py
|-> admin.py
|-> <other python files>
<sub package 2>
|-> __init__.py
|-> <other python files>
在主程序包 init .py中我执行了以下操作:
import subpackage1
import subpackage2
__version__ = "1.2.1a"
当我使用该软件包时,我遇到了导入问题
from mainpackage import subpackage1 # works
admin = subpackage1.admin #fails
from mainpackage.subpackage1 import admin # works
我是否可以直接从subpackage1调用管理模块?有什么我想念的吗?
由于
答案 0 :(得分:1)
尝试在import admin
的{{1}}中添加__init__.py
。
之后,以下代码应该起作用:
subpackage1
答案 1 :(得分:0)
除非我完全误解了你的要求,否则由于Python导入的工作原理,如果你这样做
from mainpackage import subpackage1
subpackage1
中的所有项目都可以在不将mainpackage
放在其前面的情况下引用,而不是像你要做的那样
import mainpackage