I'm using Arch Linux with Gnome. I used pip to install matplotlib in my home directory:

pip install --user matplotlib

This seemed to work, and when I use Python I can successfully import matplotlib. However, if I try to import matplotlib.pyplot I get the error

>>> import matplotlib.pyplot
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/username/.local/lib/python3.7/site-packages/matplotlib/pyplot.py", line 2374, in <module>
  File "/home/username/.local/lib/python3.7/site-packages/matplotlib/pyplot.py", line 207, in switch_backend
    backend_mod = importlib.import_module(backend_name)
  File "/usr/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/home/username/.local/lib/python3.7/site-packages/matplotlib/backends/backend_tkagg.py", line 1, in <module>
    from . import _backend_tk
  File "/home/username/.local/lib/python3.7/site-packages/matplotlib/backends/_backend_tk.py", line 5, in <module>
    import tkinter as Tk
  File "/usr/lib/python3.7/tkinter/__init__.py", line 36, in <module>
    import _tkinter # If this fails your Python may not be configured for Tk
ImportError: libtk8.6.so: cannot open shared object file: No such file or directory

Why am I getting an error and how can I fix it?


This problem occurred because I didn't have Tk or tkinter installed. Installing the tk package solved the problem:

pacman -S tk

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.