Хорошие люди, чтобы вы поняли, я делаю в 2 файлах мою работу. Но когда я нахожусь в файле Y и импортирую X, он запускается, у него обычные манипуляции с экраном. Теперь, когда я импортирую Y в X, уже импортировав в Y X, он возвращает мне эту ошибку. Короче говоря, я вхожу в систему в ближайшее время, но когда я хочу выйти (вернуться в окно входа в систему), он не позволит мне.
Я ничего не пробовал, потому что не знаю, что делать.
from app import loginUser
class Users:
def __init__(self,window):
# Criando o sistema
self.wind = window
self.wind.title("System F2T")
from user import Users
class loginUser:
#Metodo de inicio ao sistema de login
def __init__(self, window, master=None):
# Criando o sistema de login
self.wind = window
self.wind.title("System F2T")
Я надеюсь, что вы можете помочь мне, потому что я остановился на этом. Я положил кусок кода, чтобы понять, что я делаю взаимодействие от одного к другому
Всего 2 ответа
Ваш вопрос очень неясен, вы говорите «он возвращает мне эту ошибку», но затем не сообщаете об ошибке, которую получаете. Из того, что я могу собрать, вы должны получить ошибку: ImportError: cannot import name 'loginUser' from 'app' (C:UserProjectNameapp.py)
Эта ошибка возникает из-за того, что вы пытаетесь импортировать Users
из user.py
в app.py
, а также пытаетесь импортировать loginUser
из app.py
в users.py
. Это цикл импорта и вызывает ошибку.
Короче говоря,
user.py
не может полагаться на код изapp.py
еслиapp.py
также полагается на самuser.py
Один из способов исправить эту ошибку - импортировать loginUser в определенные функции, которые ему необходимы в User (или наоборот, в зависимости от того, что нужно сделать двум вашим классам).
Например, если объекту Users необходимо создать нового loginUser в функции с именем createUser()
, эти два файла будут выглядеть следующим образом
# app.py
from user import Users
class loginUser:
#Metodo de inicio ao sistema de login
def __init__(self, window, master=None):
# Criando o sistema de login
self.wind = window
self.wind.title("System F2T")
# user.py
class Users:
def __init__(self,window):
# Criando o sistema
self.wind = window
self.wind.title("System F2T")
def createUser(self):
from app import loginUser
newUser = loginUser(self.wind)
return newUser
Вам нужно импортировать только тот модуль / файл, который вам не нужен для импорта класса. Где бы вы ни хотели использовать класс loginuser
используйте его, используя app.loginUser()
и user.Users()
для класса Users
. Ниже код отлично работает для меня:
import app
class Users:
def __init__(self,window):
return app.loginUser()
import user
class loginUser:
def __init__(self, window, master=None):
return user.Users()