Объект NoneType не имеет атрибута _name - PullRequest
0 голосов
/ 10 марта 2020

Я получил следующую ошибку:

Exception AttributeError: "'NoneType' object has no attribute '_name'" in <bound method Producer.__del__ of <mypackage.producer.Producer object at 0x7f512xxed85d90>> ignored

Часть моих кодов:

import threading
import logging
import time


def setup_logger(name, level=logging.DEBUG):
    return logging.getLogger(name)


logger = setup_logger(__name__)


class Producer(object):
    def __init__(self):
        self.data = 1

    def __del__(self):
        self.close()

    def close(self):
        logger.info(self.data)
        # mythread.join()
        # Other codes

Я думаю, _name из протоколирование пакета или нить упаковка. Потому что в этих двух пакетах я нашел _name в исходных кодах. Проблема может заключаться в том, что некоторые объекты сначала собираются, но вызываются позже. Но я не могу произвести эту ошибку локально.

Возможно, причина в другой части кодов, которая здесь не показана. Проект огромный. Чтобы исследовать эту проблему, я пытаюсь сосредоточиться на действительно связанном фрагменте кода.

У кого-нибудь была эта проблема раньше? Любые идеи приветствуются. Большое спасибо.

...