Исключение объекта со слабой ссылкой во время отладки - PullRequest
0 голосов
/ 26 мая 2020

Я получаю 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)

любые идеи, почему это исключение?

...