Python 奇怪的不一致性-可能的循环依赖?

Python 奇怪的不一致性-可能的循环依赖?,python,import,Python,Import,我正试图重构一些python代码,但我遇到了一个导入错误,我不明白。我怀疑某个地方可能存在循环依赖关系,但我没有看到它,而且我也没有从错误消息中得到多少提示。代码库很大,但这里有两个感兴趣的模块: radian/models.py定义了一个名为ACount datalayer/radian.py中包含以下行: from radian.models import ACount 当我运行代码(以交互方式或从主程序运行)时,导入失败的方式对我来说毫无意义 >>> from radi

我正试图重构一些python代码,但我遇到了一个导入错误,我不明白。我怀疑某个地方可能存在循环依赖关系,但我没有看到它,而且我也没有从错误消息中得到多少提示。代码库很大,但这里有两个感兴趣的模块:

radian/models.py
定义了一个名为
ACount

datalayer/radian.py
中包含以下行:

from radian.models import ACount
当我运行代码(以交互方式或从主程序运行)时,导入失败的方式对我来说毫无意义

>>> from radian.models import ACount
>>> import datalayer.radian
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/Users/leopd/dev/dbproj/datalayer/radian.py", line 10, in <module>
    from radian.models import ACount
ImportError: No module named models
>>从radian.models导入帐户
>>>导入datalayer.radian
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/Users/leopd/dev/dbproj/datalayer/radian.py”,第10行,在
从radian.models导入帐户
ImportError:没有命名为模型的模块
我最好的猜测是,在某个地方有一个循环依赖关系,
radian
正在导入导入数据层的东西。但我没看到。这个错误信息对我来说毫无意义。知道发生了什么事吗

--更新--


我正在Mac上使用python 2.6.1。
\uuuu init\uuuuuuuuuuuuupy
文件中有一些代码,但它们仅从标准python包导入。

数据层文件夹中的任何模块(包括
弧度.py
)在从弧度中看到
时,都会假定
数据层/radian.py
是相关模块。你可能需要这样做

from __future__ import absolute_import

datalayer/radian.py
和其他类似受影响的模块中,然后检查所有导入以确保它们是绝对的。根据模块引用的位置,您可能可以通过重命名
数据层/radian.py
和引用它的导入来解决问题。

您使用的Python版本是什么?如果可用,我建议启用绝对导入。
radian
是否有
\uuuu init\uuuu.py
文件?
radian.py
文件是否会尝试从自身导入
模型?