Невозможно войти в lru_cache'_lru_cache_wrapper - PullRequest
0 голосов
/ 14 января 2019

По какой-то причине я вообще не могу войти в код _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 Ответ

0 голосов
/ 14 января 2019

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

try:
    from _functools import _lru_cache_wrapper
except ImportError:
    pass
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...