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

时间:2018-05-28 17:42:12

标签: python 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中的

我导入Componente是这样的:

from model.componente import Componente

并在componente.py中导入Sorgente,如下所示:

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'

1 个答案:

答案 0 :(得分:2)

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

from model.componente import Componente 

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

from model.componente import Componente