模块存在,pyCharm 建议我名称,但导入失败



我是python的新手,我在模块/包和导入方面遇到了一些问题。我在pyCharm中有一个python项目,这是我的项目结构:

project 
|
|------ model (package)
|
|---- __init__.py
|---- impianto.py
|---- componente.py
|---- sorgente.py
|------- app.py

每个模块都定义了具有相同名称的类,因此 impianto.py 定义了一个名为 Impianto 的类,componente.py 定义了一个名为 Componente 的类,依此类推。app.py 我有一个导入的 Impianto 类。这就是我所做的:

from model.impianto import Impianto

impianto.py 我像这样导入组件:

from model.componente import Componente

componente.py 我像这样导入索尔根特:

from model.sorgente import Sorgente

请注意,Sorgente扩展了Componente,pyCharm向我推荐了导入名称,但是当我运行 app.py 时,它给了我这个错误

File "/home/gjcode/PycharmProjects/es3_2016/app.py", line 2, in 
<module>
from model.impianto import Impianto
File "/home/gjcode/PycharmProjects/es3_2016/model/impianto.py", line 1, in <module>
from model.componente import Componente
File "/home/gjcode/PycharmProjects/es3_2016/model/componente.py", line 1, in <module>
from model.sorgente import Sorgente
File "/home/gjcode/PycharmProjects/es3_2016/model/sorgente.py", line 1, in <module>
from model.componente import Componente
ImportError: cannot import name 'Componente'

您有循环依赖导入。 你尝试执行

from model.componente import Componente 

在两个文件中,在sorgente.pyimpianto.py尝试从sogrente.py中删除

from model.componente import Componente

最新更新