2017-11-08 17 views
6

Khi tôi cố gắng nhập matplotlib tôi nhận được một lỗipython 2.7 functools_lru_cache không nhập khẩu mặc dù cài đặt

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 

backports tự nhập khẩu đúng. Khi tôi cố gắng để cài đặt functools bằng tay qua

sudo pip install backports.functools_lru_cache 

tôi nhận được thông tin rằng

Requirement already satisfied: backports.functools_lru_cache in /usr/local/lib/python2.7/dist-packages 

Tuy nhiên khi tôi cố gắng để

import backports.functools_lru_cache 

tôi nhận được thông tin rằng

ImportError: No module named functools_lru_cache 

Hệ thống thông tin Ubuntu 16 Python 2.7.12 Pip 9.0.1

Trả lời

7

Tôi đã có cùng một vấn đề nhưng tôi đã sửa nó.

Uninstall đầu tiên

pip uninstall backports.functools_lru_cache 

và sau đó cài đặt lại nó.

pip install backports.functools_lru_cache 

Bây giờ tôi có thể nhập matplotlib. Hi vọng điêu nay co ich.

+1

Tôi đang gặp vấn đề tương tự. Gỡ cài đặt/cài đặt backports.functools_lru_cache không giúp được gì. Tôi đang sử dụng Ubuntu 16.04, Python 27, pip 9.0.1, quá) – enobufs

+0

Tôi đang sử dụng Ubuntu 14.04, Python 2.7.14 và pip 9.0.1. Nó làm việc cho tôi. – user3732168

+0

@enobufs là bạn có thể giải quyết vấn đề này, tôi đang đối mặt với cùng một vấn đề. –

2

Lệnh pip thực sự là pip3 và "ImportError" đã xảy ra khi tôi sử dụng python (2.7).

pip2 uninstall backports.functools_lru_cache 

sau đó,

pip2 install backports.functools_lru_cache 

cố định vấn đề của tôi.

+1

Cảm ơn. Điều này làm việc cho tôi. – lnreddy

2

tôi giải quyết vấn đề của tôi bằng cách loại bỏ các gói matplotlib quá mức. Tôi phát hiện ra rằng khi nhập khẩu matplotlib nó đã cố gắng để import backports.functools_lru_cache và ở đó nó đã ném Importerror.

tôi nhận ra rằng tôi đã gói matplotlib khác nhau ở nhiều địa điểm:

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

tôi loại bỏ các trang web gói một. Tôi để nguyên một gói nguyên vẹn.

Sau đó, tôi chạy các lệnh sau trong python:

matplotlib.get_configdir() 
matplotlib.get_cachedir() 

và tôi loại bỏ các gói matplotlib trong các đường dẫn đầu ra của các lệnh này.

Sau đó, tôi loại bỏ các matplotlib trong virtualenvironment tôi:

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

Cuối cùng tôi loại bỏ các file trong thư mục .local:

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

Bây giờ nhập matplotlib hoạt động tốt. Vì vậy, khi tôi chạy trong python:

matplotlib.__file__ 

nó trả

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

Bây giờ nó không ném lỗi nữa khi import backports.functools_lru_cache

Các vấn đề liên quan