【问题标题】:functools has no attribute lru_cachefunctools 没有属性 lru_cache
【发布时间】:2018-12-14 08:17:57
【问题描述】:

我在我的 Windows 上使用 Python 3.7

运行每个代码时都会出现此错误:

Traceback (most recent call last):
  File "test.py", line 1, in <module>
    import nltk
  File "C:\Users\HP\AppData\Local\Programs\Python\Python37\lib\site-packages\nltk\__init__.py", line 99, in <module>
    from nltk.internals import config_java
  File "C:\Users\HP\AppData\Local\Programs\Python\Python37\lib\site-packages\nltk\internals.py", line 11, in <module>
    import subprocess
  File "C:\Users\HP\AppData\Local\Programs\Python\Python37\lib\subprocess.py", line 50, in <module>
    import signal
  File "C:\Users\HP\AppData\Local\Programs\Python\Python37\lib\signal.py", line 3, in <module>
    from functools import wraps as _wraps
  File "C:\Users\HP\AppData\Local\Programs\Python\Python37\lib\functools.py", line 21, in <module>
    from collections import namedtuple
  File "C:\Users\HP\AppData\Local\Programs\Python\Python37\lib\collections\__init__.py", line 22, in <module>
    from keyword import iskeyword as _iskeyword
  File "C:\Users\HP\Desktop\tweepy\keyword.py", line 1, in <module>
    import re
  File "C:\Users\HP\AppData\Local\Programs\Python\Python37\lib\re.py", line 297, in <module>
    @functools.lru_cache(_MAXCACHE)
AttributeError: module 'functools' has no attribute 'lru_cache'

如何解决?

【问题讨论】:

  • 下面的脚本告诉你什么:import functools; print(functools)
  • @Jeronimo

标签: python python-3.x functools


【解决方案1】:

看起来有人在 pypi 上发布了一个 functools 包,所以如果你运行过:

# don't run this!
pip install functools

您可能不小心安装了该软件包。如果你遇到这个错误,我会:

pip uninstall functools

确保您使用的 functools 是基础包 functools。

(我最终来到这里是因为我尝试使用functools.cache,它似乎只存在于 Python 3.8 中,而不是更早版本。)

【讨论】:

  • 实际上是3.9才添加的
【解决方案2】:

我最近遇到了同样的错误,这是因为我的项目中有一个名为 functools.py 的文件。重命名它解决了这个问题。

【讨论】:

    猜你喜欢
    • 2020-12-01
    • 1970-01-01
    • 2019-01-03
    • 2018-09-27
    • 2018-07-14
    • 2016-12-20
    • 2016-02-13
    • 2018-04-23
    • 2018-06-10
    相关资源
    最近更新 更多