导入自定义python包的问题

时间:2014-03-31 14:12:34

标签: python class python-2.7 module package

我有一个像这样被删除的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调用管理模块?有什么我想念的吗?

由于

2 个答案:

答案 0 :(得分:1)

尝试在import admin的{​​{1}}中添加__init__.py。 之后,以下代码应该起作用:

subpackage1

答案 1 :(得分:0)

除非我完全误解了你的要求,否则由于Python导入的工作原理,如果你这样做

from mainpackage import subpackage1

subpackage1中的所有项目都可以在不将mainpackage放在其前面的情况下引用,而不是像你要做的那样

import mainpackage