Python包命名问题

时间:2014-11-19 23:19:26

标签: python

我有一个名为gutils的python包,其中包含许多有用的开发工具,其中一些是通用的,其中一些使用reportlabs,最重要的部分在django之上形成一个抽象层,定制很多默认行为

我想保持外部接口的约定类似于django,以免增加开发过程的复杂性。

我有这个结构(作为例子):

    gutils
      |---- django
              |
              |----forms
                     |
                     |---widgets.py

问题是,在这个widgets.py文件中,导入会解析为当前子包。 例如:

from django.forms import TextInput

被视为:

from gutils.django.forms import TextInput

作为一种解决方法,我已将顶层包命名为gdjango,但它看起来很尴尬。

所以,问题是:

有没有办法从gutils.django包中引用真正的django包?

注意:我正在使用python 3

1 个答案:

答案 0 :(得分:0)

如果你正在处理一个包,例如,像这样:

mypackage /
    mypackagesubdir /
        myfile.py
    mypackagesubdirII /
        myfileII.py

并且您正在编辑myfile.py,导入myfileII,如import .mypackagessubdirII.myfileII.表示包的根目录。