python从python包导入类

时间:2013-06-21 14:12:41

标签: python import package

我在cgi环境中使用python并使用mvc设计模式 所以我目前有以下层次结构:

  main.py
  mvc/                         
  __init__.py               
  model/                  
          __init__.py
          session_initiator.py
  view/
          __init__.py
  controller/
          __init__.py
          interface.py

在session_initiator.py中我定义了类session_initiator
我试图在interface.py中导入session_initiator类 interface.py中的以下代码成功:

 from .. import model

但是当我尝试添加以下内容时:

from model import session_initiator

我得到的错误是模型不是模块。

请不要参考有关sys.path
的解决方案 因为我正在使用我无法编辑的环境。

感谢。

编辑:所有初始文件都为空。

修改:我将该行更改为:

from  mvc.model import session_initator

这条线有效! 但现在尝试做的时候:

self.session_init = session_initiator() 

我收到以下错误:

 TypeError: 'module' object is not callable

1 个答案:

答案 0 :(得分:0)

导入不会建立在现有名称之上。

from ..model import session_initiator

此外,session_initiator现在是一个模块,而不是一个类。如果您打算从 那个模块中导入一些内容,那么您必须这样做。

from ..model.session_initiator import session_initiator