我是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'
您有循环依赖进口。你尝试执行
from model.componente import Componente
在两个文件中,sorgente.py
并impianto.py
尝试从中删除sogrente.py
from model.componente import Componente
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句