python 2.7 functools_lru_缓存虽然已安装,但不导入

python 2.7 functools_lru_缓存虽然已安装,但不导入,python,matplotlib,backport,Python,Matplotlib,Backport,当我尝试导入matplotlib时,出现了一个错误 Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python2.7/dist-packages/matplotlib/__init__.py", line 128, in <module> from matplotlib.rcsetup import defaul

当我尝试导入matplotlib时,出现了一个错误

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/matplotlib/__init__.py", line 128, in <module>
  from matplotlib.rcsetup import defaultParams, validate_backend, cycler
  File "/usr/local/lib/python2.7/dist-packages/matplotlib/rcsetup.py", line 29, in <module>
    from matplotlib.fontconfig_pattern import parse_fontconfig_pattern
  File "/usr/local/lib/python2.7/dist-packages/matplotlib/fontconfig_pattern.py", line 32, in <module>
    from backports.functools_lru_cache import lru_cache
ImportError: No module named functools_lru_cache
我得到消息说

Requirement already satisfied: backports.functools_lru_cache in /usr/local/lib/python2.7/dist-packages
ImportError: No module named functools_lru_cache
尽管如此,当我试图

import backports.functools_lru_cache
我得到消息说

Requirement already satisfied: backports.functools_lru_cache in /usr/local/lib/python2.7/dist-packages
ImportError: No module named functools_lru_cache
系统信息 Ubuntu 16 Python 2.7.12
Pip 9.0.1

我也有同样的问题,但我已经解决了

先卸载

pip uninstall backports.functools_lru_cache
然后重新安装它

pip install backports.functools_lru_cache

现在我可以导入matplotlib了。希望这能有所帮助。

pip命令实际上是pip3,在我使用python(2.7)时出现了“ImportError”

那么


修复了我的问题。

我也有同样的问题,我的解决方案是

  • 从下载whl文件

  • pip安装


我通过删除过多的matplotlib包解决了问题。我发现在导入matplotlib时,它试图
导入backports.functools\u lru\u cache
,并在那里抛出
导入错误

我意识到我在许多地方有不同的matplotlib包:

/usr/lib/python2.7/dist-packages/matplotlib/
/usr/lib/python2.7/site-packages/matplotlib/
我删除了一个网站包。我留下了一个完整的地区包裹

然后,我在python中运行了以下命令:

matplotlib.get_configdir()
matplotlib.get_cachedir()
matplotlib.__file__
我删除了这些命令输出路径中的matplotlib包

然后,我在我的虚拟环境中删除了matplotlib:

mv /home/username/virtualenvironment/lib/python2.7/matplotlib* /tmp
最后,我删除了.local文件夹中的一个:

mv /home/username/.local/lib/python2.7/matplotlib* /tmp
现在导入matplotlib工作正常。因此,当我在python中运行时:

matplotlib.get_configdir()
matplotlib.get_cachedir()
matplotlib.__file__
它回来了

'/usr/lib/python2.7/dist-packages/matplotlib/__init__.pyc'

现在导入后端口时不再抛出错误。functools\u lru\u缓存

如果有人仍然存在此问题并重新安装后端口。functools\u lru\u缓存在他的情况下不起作用,就像在我的情况下一样,那么安装旧版本的matplotlib可能会起作用。例如:

pip install matplotlib==2.0.2
版本2.2.0出现问题,我切换到了2.0.2,现在可以工作了。我没有检查其他版本。

这对我有效

from backports.functools_lru_cache import lru_cache

您必须检查后端口包的导入路径:

import backports
print('Backports Path: {0}'.format(backports.__path__))
1。导入路径是python的主路径(Matimath的问题)

pip卸载backports.functools\u lru\u缓存(这将从/usr/local/卸载它) pip安装backports.functools\u lru\u缓存 2。导入路径是本地usr dir(~/.local/,或%APPDATA%\Python for windows) pip uninstall backports.functools_lru_cache pip install --user backports.functools_lru_cache pip卸载backports.functools\u lru\u缓存 pip安装--user
backports.functools\u lru\u缓存

对python2使用pip2命令

出现这种不一致的原因是,backports包的导入路径可能在另一个模块/包安装过程中发生了更改(例如,从backports.configparser模块)-有关更多详细信息,请参阅此处:

我也遇到了同样的问题,重新安装backports.functools\u lru\u缓存解决了问题

安装箭头使用:

pip install arrow==0.12.0 

为我修复了这个问题

在Ubuntu 16上也会遇到这个问题。 卸载并重新安装不适用于我

我的解决方案是从apt重新安装

pip uninstall matplotlib
sudo apt-get autoremove python-matplotlib
sudo apt-get install python-matplotlib

您正在使用Pyton 2。尝试改用pip2:

  • pip2卸载matplotlib
  • sudo apt获取自动删除python matplotlib
  • sudo apt get安装python matplotlib
以下内容来自:


这将避免安装
arrow
仅仅为了降级
functools\u lru\u缓存

这对我来说很有效。Ubuntu 18.04

sudo pip2 uninstall backports.functools-lru-cache
sudo apt install python-backports.functools-lru-cache

如果你在Ubuntu18.x(或者其他版本)上遇到这个问题:它是由以下原因引起的。问题出在Ubuntu包
PythonConfigParser
中,它是作为
PythonPIP
的依赖项安装的。它包含空的
\uuuu init\uuu
文件

/usr/lib/python2.7/dist-packages/backport/\uuuuu-init\uuuuuuuuuu.py

因此,安装到
/usr/local/lib/python2.7/dist包/后端口的pip模块被简单地忽略。一旦此错误尚未修复,最简单的修复方法是删除此软件包:

sudo apt remove python-configparser
它不会对pip安装的任何
后端口
模块造成任何伤害(因为它们位于另一个文件夹中),这比版本降级安全得多


有关
后端口
模块的类似问题,请参见。

我遇到了相同的问题。卸载/安装backports.functools\u lru\u缓存没有帮助。我正在使用Ubuntu16.04、Python27、PIP9.0.1)我正在使用Ubuntu14.04、Python2.7.14和PIP9.0.1。这对我很有效。@enobufs如果你能解决这个问题,我也面临同样的问题。@saharudra是的,对于我的情况。请看下面我的帖子。@enobufs我试过了,但没有用。我卸载了matplotlib,甚至卸载了python2.7,从头开始,但毫无用处。在将Ubuntu更新到18.04之后,我也遇到了同样的问题。这个答案为我解决了这个问题。注意:之前我还必须通过pip卸载matplotlib:
pip卸载matplotlib
应该没有任何理由降级matplotlib。如果有人认为matplotlib有问题,最好通知开发人员。然而,从这里的其他答案来看,这个问题应该通过正确设置matplotlib安装的环境来解决。这很有魅力。它还解决了神秘的导入错误'cbook'()。这很有效!谢谢!我花了一个多小时试图解决这个问题。正在重新安装我的python,弄乱了lib/site packages文件夹中的文件。请尝试添加解释。“--user”正是VirtualInvesting中需要的。。。这对我来说很有效。这导致卸载
backports.functools-lru-cache-1.5
,然后安装
backports.functools-lru-cache-1.2.1
。我不清楚的是为什么这能解决任何问题。。在交互式会话中,导入在1.5.Woo版本下运行良好,magic!这对我来说是可行的,使用Python2.7.16并导致降级到后端口。functools_lru_cache==1.2.1这对我来说是可行的,也许pip就是pip
sudo apt remove python-configparser