Python ImportError:无法导入名称(不是循环依赖项)

Python ImportError:无法导入名称(不是循环依赖项),python,Python,我在导入同一个包中的类时遇到了问题,这似乎不是一个循环依赖性问题。所以我现在真的很困惑 my-project/ lexer.py exceptions.py 我在exceptions.py中声明了一个异常,并希望在lexer.py中使用它: 例外情况.py: class LexError(Exception): def __init__(self, message, line): self.message = message self.lin

我在导入同一个包中的类时遇到了问题,这似乎不是一个循环依赖性问题。所以我现在真的很困惑

my-project/
   lexer.py
   exceptions.py
我在
exceptions.py
中声明了一个异常,并希望在
lexer.py
中使用它:

例外情况.py:

class LexError(Exception):
    def __init__(self, message, line):
        self.message = message
        self.line = line
在lexer.py中:

import re
import sys

from exceptions import LexError
...
它不应该是循环依赖,因为
lexer.py
是其中唯一包含
import
的文件


谢谢

异常
与内置模块冲突

导入异常 >>>异常。LexError 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 AttributeError:“模块”对象没有属性“LexError” >>>从异常导入错误 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 ImportError:无法导入名称错误
使用不同的模块名称。

您能尝试将
exceptions.py
重命名为其他名称,看看是否有帮助吗?@Adeeb它可以工作!!!但是为什么呢?在这里,您可以看到exceptions.py应该引起一个错误@Adeeb这是回购协议书中的代码,代码使用的是
app.exceptions
而不是
exceptions
@falsetru已经指出,
import exceptions
将使用内置模块,而不是您创建的模块。它尝试从
exceptions
(python exceptions不是您的)
LexError
导入。重命名exeptions.py应该可以解决这个问题。
>>> import exceptions
>>> exceptions.LexError
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'LexError'
>>> from exceptions import LexError
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: cannot import name LexError