Невозможно войти в lru_cache'_lru_cache_wrapper

По какой-то причине я вообще не могу войти в код _lru_cache_wrapper.

Я вижу, что декоратор lru_cache возвращает закрытие с помощью _lru_cache_wrapper в functools.py. Однако, когда я ставлю точку останова в коде _lru_cache_wrapper, она никогда не срабатывает. Я даже поместил оператор print(), который, кажется, не получил удар. Я действительно озадачен этим, так как код lru_cache достигает точки останова, но не _lru_cache_wrapper.

from functools import lru_cache

@lru_cache()
def foo():
    print('foo')

if __name__ == '__main__':
    foo()
    print(foo.cache_info())

1 ответ

Решение

Версия в functools.py не привыкать Он заменен версией, написанной на C из _functools:

try:
    from _functools import _lru_cache_wrapper
except ImportError:
    pass
Другие вопросы по тегам