gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 01:52:31 24 4
gpt4 key购买 nike

我是 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.pyimpianto.py 中尝试从 sogrente.py 中删除

from model.componente import Componente

关于python - 模块存在,pyCharm 建议我输入名称,但导入失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50571282/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com