无法进入 lru_cache'_lru_cache_wrapper

Unable to step into lru_cache'_lru_cache_wrapper

出于某种原因,我根本无法进入 _lru_cache_wrapper 的代码。

我看到 lru_cache 装饰器 returns 在 functools.py 中包含 _lru_cache_wrapper 的闭包。然而,当我在 _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())

functools.py 中的版本未被使用。它是 replaced_functools:

用 C 编写的版本
try:
    from _functools import _lru_cache_wrapper
except ImportError:
    pass