Django ImportError

时间:2011-08-18 05:35:00

标签: python django importerror python-import

我创建了自己的Django应用程序,其目录结构为

/appname
    __init__.py
    models.py
    /submodule1
        __init__.py
        a.py

a.py内我有以下导入

from ..models import Something

如果我的/appname文件夹中有/djangoproject,但是当我将应用程序安装到Python的网站包(通过我创建的setup.py)时,这可以正常工作并且a.py无法再导入Something,并出现以下错误:

ImportError: cannot import name Something

这是setup.py:

from distutils.core import setup

setup(name='appname',
      version='0.1',
      packages=['appname', 'appname.contrib'],
)

2 个答案:

答案 0 :(得分:8)

事实证明这是一个循环导入错误。 models.py正在导入a.py,而a.py正在导入models.py

打破这个圈子解决了导入问题,但现在是时候弄清楚如何在Python中进行延迟评估了: - )

答案 1 :(得分:2)

将名为__init__.py的空文件放在/ submodule1中,以便Python可以将其解析为模块。它应该有所帮助。在/ appname中相同 - 还应该有__init__.py个文件