Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

import matplotlib.pyplot as plt, ImportError: libGL.so.1: cannot open shared object file: No such file or directory

import matplotlib.pyplot as plt is erroring with python2.7, anaconda3.

The error is ImportError: libGL.so.1: cannot open shared object file: No such file or directory

Error report

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/serving/anaconda3/envs/python27/lib/python2.7/site-packages/matplotlib/pyplot.py", line 115, in <module>
    _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
  File "/serving/anaconda3/envs/python27/lib/python2.7/site-packages/matplotlib/backends/__init__.py", line 32, in pylab_setup
    globals(),locals(),[backend_name],0)
  File "/serving/anaconda3/envs/python27/lib/python2.7/site-packages/matplotlib/backends/backend_qt5agg.py", line 16, in <module>
    from .backend_qt5 import QtCore
  File "/serving/anaconda3/envs/python27/lib/python2.7/site-packages/matplotlib/backends/backend_qt5.py", line 26, in <module>
    import matplotlib.backends.qt_editor.figureoptions as figureoptions
  File "/serving/anaconda3/envs/python27/lib/python2.7/site-packages/matplotlib/backends/qt_editor/figureoptions.py", line 20, in <module>
    import matplotlib.backends.qt_editor.formlayout as formlayout
  File "/serving/anaconda3/envs/python27/lib/python2.7/site-packages/matplotlib/backends/qt_editor/formlayout.py", line 56, in <module>
    from matplotlib.backends.qt_compat import QtGui, QtWidgets, QtCore
  File "/serving/anaconda3/envs/python27/lib/python2.7/site-packages/matplotlib/backends/qt_compat.py", line 128, in <module>
    from PyQt5 import QtCore, QtGui, QtWidgets
ImportError: libGL.so.1: cannot open shared object file: No such file or directory

conda list is

$conda list
cairo 1.14.8 0 defaults
certifi 2016.2.28 py27_0 defaults
cycler 0.10.0 py27_0 defaults
dbus 1.10.20 0 defaults
expat 2.1.0 0 defaults
fontconfig 2.12.1 3 defaults
freetype 2.5.5 2 defaults
functools32 3.2.3.2 py27_0 defaults
glib 2.50.2 1 defaults
gst-plugins-base 1.8.0 0 defaults
gstreamer 1.8.0 0 defaults
harfbuzz 0.9.39 2 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
icu 54.1 0 defaults
jpeg 9b 0 defaults
libffi 3.2.1 1 defaults
libgcc 5.2.0 0 defaults
libgfortran 3.0.0 1 defaults
libiconv 1.14 0 defaults
libpng 1.6.30 1 defaults
libxcb 1.12 1 defaults
libxml2 2.9.4 0 defaults
matplotlib 2.0.2 np113py27_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
mkl 2017.0.3 0 defaults
numpy 1.13.1 py27_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
openssl 1.0.2l 0 defaults
pandas 0.20.3 py27_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
pango 1.40.3 1 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
patsy 0.4.1 py27_0 defaults
pcre 8.39 1 defaults
pip 9.0.1 py27_1 defaults
pixman 0.34.0 0 defaults
pycairo 1.10.0 py27_0 defaults
pyparsing 2.2.0 py27_0 defaults
pyqt 5.6.0 py27_2 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
python 2.7.13 0 defaults
python-dateutil 2.6.1 py27_0 defaults
pytz 2017.2 py27_0 defaults
qt 5.6.2 5 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
qt5 5.3.1 1 dsdale24
readline 6.2 2 defaults
scikit-learn 0.19.0 np113py27_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
scipy 0.19.1 np113py27_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
setuptools 36.4.0 py27_1 defaults
sip 4.18 py27_0 defaults
six 1.10.0 py27_0 defaults
sqlite 3.13.0 0 defaults
statsmodels 0.8.0 np113py27_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
subprocess32 3.2.7 py27_0 defaults
tk 8.5.18 0 defaults
wheel 0.29.0 py27_0 defaults
zlib 1.2.11 0 defaults
(python27)
like image 953
Terry Avatar asked Dec 08 '17 07:12

Terry


3 Answers

Below commands worked for me:

sudo apt update
sudo apt install libgl1-mesa-glx
like image 142
Sagar Rathod Avatar answered Nov 07 '22 07:11

Sagar Rathod


import matplotlib 
matplotlib.use("Agg") 
import matplotlib.pyplot as plt

this worked for me

like image 8
Dhanisha Phadate Avatar answered Nov 07 '22 09:11

Dhanisha Phadate


Answer by Dhanisha works fine, as i am adding explanation on top off it

remove

import matplotlib.pyplot as plt

add

import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt

The reason behind such behavior is if you are running it on server switch do not have gui support or non interactive mode. If you run same code on jupyter notebook, it would work fine.

see below links

https://matplotlib.org/faq/howto_faq.html

https://github.com/matplotlib/matplotlib/issues/9954

like image 3
Avi Gaur Avatar answered Nov 07 '22 07:11

Avi Gaur