Я получаю ReferenceError: weakly-referenced object no longer exists
во время отладки. Запуск приложения обычно работает отлично, также в журнале написано, что исключение игнорируется Exception ignored in: <function DBConnector.__del__ at 0x045F6D18>
, но ситуация меня раздражает. Прочтите Python 3 документ и предыдущие вопросы, они кажутся мне подходящими. Закрытие курсора перед подключением.
Мой класс DBConnector инициализирует и уничтожает соединение следующим образом:
def __init__(self, database):
self.connection = mysql.connector.connect(
host="localhost",
database=database,
user=<user>,
password=<password>
)
if self.connection.is_connected():
db_info = self.connection.get_server_info()
print("Connected to MySQL Server version ", db_info)
self.cursor = self.connection.cursor()
self.cursor.execute("select database();")
record = self.cursor.fetchone()
print("You're connected to database: ", record)
def __del__(self):
self.close_connection()
def close_connection(self):
self.cursor.close()
self.connection.close()
и инициализирует синглтон следующим образом:
def __init__(self, database):
self.db_connector = DBConnector(database)
любые идеи, почему это исключение?