существуют модули, pyCharm предлагает мне имя, но импорт не удается - PullRequest
0 голосов
/ 28 мая 2018

Я новичок в python и столкнулся с некоторыми проблемами с модулем / пакетами и импортом.У меня есть проект на python в pyCharm, это структура моего проекта:

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

каждый модуль определяет класс с тем же именем, поэтому impianto.py определяет класс с именем Impianto, componentente.py определяет класс с именемКомпонент и тд.В app.py у меня есть импорт для класса Impianto.Вот что я делаю:

from model.impianto import Impianto

в impianto.py Я импортирую Componente следующим образом:

from model.componente import Componente

, а в componentente.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 голосов
/ 28 мая 2018

У вас есть круговой зависимый импорт.вы пытаетесь выполнить

from model.componente import Componente 

в двух файлах, в sorgente.py и в impianto.py, пытаетесь удалить из sogrente.py

from model.componente import Componente
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...