python 2.7 functools_lru_cache does not import although installed

江枫思渺然 提交于 2019-11-27 21:53:57

If someone is still having that problem and reinstalling backports.functools_lru_cache do not work in his case, as it was in my case, then probably installing older version of matplotlib would work. For example:

pip install matplotlib==2.0.2

Problem occurred for version 2.2.0, I switched to 2.0.2 and it is working now. I did not check other versions.

I had the same problem but I fixed it.

Uninstall first

pip uninstall backports.functools_lru_cache

and then re-install it.

pip install backports.functools_lru_cache

Now I'm able to import matplotlib. Hope this helps.

Install arrow using:

pip install arrow==0.12.0 

fixed this issue for me

The pip command was actually the pip3, and the "ImportError" was happening when I used python (2.7).

pip2 uninstall backports.functools_lru_cache

then,

pip2 install backports.functools_lru_cache

fixed my problem.

You have to check what is the import path of backports package:

import backports
print('Backports Path: {0}'.format(backports.__path__))

1. The import path is the main python path ( the case of Matimath's question)

pip uninstall backports.functools_lru_cache   (this will uninstall it from /usr/local/)
pip install backports.functools_lru_cache

2. The import path is the local usr dir (~/.local/, or %APPDATA%\Python for windows)

pip uninstall backports.functools_lru_cache 
pip install --user backports.functools_lru_cache

Use pip2 command for python2.

The reason for this inconsistency is that the import path of backports package might have been changed during another module/package installation (eg. from backports.configparser module) - see here for more details: https://bugs.python.org/issue31741

I had the same problem and my solution was;

I solved my problem by removing the excessive matplotlib packages. I found out that when importing matplotlib it was attempting to import backports.functools_lru_cache and there it was throwing the Importerror.

I realized that I had different matplotlib packages in many locations:

/usr/lib/python2.7/dist-packages/matplotlib/
/usr/lib/python2.7/site-packages/matplotlib/

I removed the site-packages one. I left the dist-packages one intact.

Then I ran the following commands in python:

matplotlib.get_configdir()
matplotlib.get_cachedir()

and I removed the matplotlib packages in the output paths of these commands.

Then I removed the matplotlib in my virtualenvironment:

mv /home/username/virtualenvironment/lib/python2.7/matplotlib* /tmp

Finally I removed the one in the .local folder:

mv /home/username/.local/lib/python2.7/matplotlib* /tmp

Now importing matplotlib works fine. So when I run in python:

matplotlib.__file__

it returns

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

Now it does not throw error anymore when import backports.functools_lru_cache

You are using pyhton 2. try to use pip2 instead:

  • pip2 uninstall matplotlib
  • sudo apt-get autoremove python-matplotlib
  • sudo apt-get install python-matplotlib

I had same issue, re-installation of backports.functools_lru_cache resolved the issue

this worked for me

from backports.functools_lru_cache import lru_cache
Javan

Also meet this issue on Ubuntu 16. Uninstall & reinstall not work for me.

My solution is reinstall from apt.

pip uninstall matplotlib
sudo apt-get autoremove python-matplotlib
sudo apt-get install python-matplotlib
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!