【问题标题】:python importError name lru_cachepython importError name lru_cache
【发布时间】:2017-08-22 13:51:52
【问题描述】:

在运行下面的代码时,我收到 Python 无法导入 lru_cache 的错误。但是,每次导入(数学等)都会发生这种情况。我已经尝试了我在互联网上可以找到的每一个教程,试图让这个东西工作。我已经重新安装了 Python。也安装了 Pip 和 homebrew。

#!usr/bin
from functools import lru_cache
import math

fibonacci_cache = {}

@lru_cache(maxsize = 1000)
def fibonacci(n):

    if n == 1:
        return 1
    elif n == 2:
        return 1
    elif n > 2:
        return fibonacci(n-1) + fibonacci(n-2)

for n in range(1, 501):
    print(n, ":", fibonacci(n))

错误:

Kapoyas-MacBook-Pro:bin Keaton$ python python.py
Traceback (most recent call last):
File "python.py", line 2, in <module>
from functools import lru_cache
ImportError: cannot import name lru_cache

【问题讨论】:

  • lru_cache() 在 python3 中。你用的是什么版本?
  • 也许你的默认python解释器是python2。只需检查一下。
  • 我该如何检查。我用谷歌搜索了它,我发现的只是人们告诉我如何编辑 bash 配置文件。老实说,这对我一点帮助都没有。
  • ...this happens with every import (math, etc...) 建议您更改标题以准确反映您的问题。
  • 哦,我显然在使用 2.7!我该如何改变呢?

标签: python macos import


【解决方案1】:

由于版本(python 2.7 或 3.x),如documentation 中提供的,请考虑使用:

try:
    from functools import lru_cache
except ImportError:
    from backports.functools_lru_cache import lru_cache

【讨论】:

    【解决方案2】:

    谢谢大家。我需要那种直接的帮助!答案就像编辑 bash 配置文件一样简单。

    对于其他没有经验的人来说,这是他们第一次尝试这些东西。这是一个完整的细分

    第一步: 转到查找器,然后单击顶部栏中的 GO。然后点击“转到文件夹”

    第二步: 输入“~/.bash_profile”并点击回车

    第三步: 将此行添加到文件“alias python='python3'”的末尾保存并退出

    第四步:再次运行程序!

    【讨论】:

      猜你喜欢
      • 2011-01-22
      • 1970-01-01
      • 1970-01-01
      • 2022-08-20
      • 2018-11-13
      • 2018-10-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多