import matplotlib._png fails
You should check your LD_LIBRARY_PATH environnment variable and check that your libpng is in it.
The problem reported by python is a problem of dynamic loading : Nothing to see with the recompilation of matplotlib.
So :
Find the location of libpng.14.so with :
$> locate libpng.14.so
Note that the file must have the exact name so you may have to create a symbolic link if for example you have libpng.14.so.0 or something like that (Usually the symbolic links are automatically created when you install your lib
If you don't have any libpng.14.so.something or libpng.14.so, you may need to reinstall libpng 1.4 (with your package manager or directly from the sources)
Check $LD_LIBRARY_PATH. Change it if you need with :
$> export LD_LIBRARY_PATH=anewDir:$LD_LIBRARY_PATH
Admin
Updated on July 26, 2022Comments
-
Admin almost 2 years
I have a problem getting
matplotlib 1.0.0
to work inPython 2.5.2
(Ubuntu 10.04
) See attached console output. Any ideas appreciated. ThanksPython 2.5.2 (r252:60911, Jul 23 2010, 23:04:44) [GCC 4.4.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import numpy >>> import scipy >>> import matplotlib >>> print matplotlib.__version__ 1.0.0 >>> print numpy.__version__ 1.4.1 >>> print scipy.__version__ 0.8.0rc3 >>> from pylab import * Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python2.5/site-packages/pylab.py", line 1, in <module> from matplotlib.pylab import * File "/usr/local/lib/python2.5/site-packages/matplotlib/pylab.py", line 216, in <module> from matplotlib import mpl # pulls in most modules File "/usr/local/lib/python2.5/site-packages/matplotlib/mpl.py", line 2, in <module> from matplotlib import axis File "/usr/local/lib/python2.5/site-packages/matplotlib/axis.py", line 14, in <module> import matplotlib.text as mtext File "/usr/local/lib/python2.5/site-packages/matplotlib/text.py", line 31, in <module> from matplotlib.backend_bases import RendererBase File "/usr/local/lib/python2.5/site-packages/matplotlib/backend_bases.py", line 41, in <module> import matplotlib.textpath as textpath File "/usr/local/lib/python2.5/site-packages/matplotlib/textpath.py", line 9, in <module> from matplotlib.mathtext import MathTextParser File "/usr/local/lib/python2.5/site-packages/matplotlib/mathtext.py", line 52, in <module> import matplotlib._png as _png ImportError: libpng14.so.14: cannot open shared object file: No such file or directory >>>
July 27,01:05 A rebuild of matlibplot gives:
sudo python setup.py build basedirlist is: ['/usr/local', '/usr'] ============================================================================ BUILDING MATPLOTLIB matplotlib: 1.0.0 python: 2.5.2 (r252:60911, Jul 23 2010, 23:04:44) [GCC 4.4.3] platform: linux2 REQUIRED DEPENDENCIES numpy: 1.4.1 freetype2: 11.1.5 OPTIONAL BACKEND DEPENDENCIES libpng: 1.4.3 Tkinter: no * TKAgg requires Tkinter wxPython: no * wxPython not found Gtk+: no * Building for Gtk+ requires pygtk; you must be able * to "import gtk" in your build/install environment Mac OS X native: no Qt: no Qt4: no Cairo: no OPTIONAL DATE/TIMEZONE DEPENDENCIES datetime: present, version unknown dateutil: 1.5 pytz: 2010h OPTIONAL USETEX DEPENDENCIES dvipng: no ghostscript: 8.71 latex: no pdftops: 0.12.4 [Edit setup.cfg to suppress the above messages] ============================================================================ pymods ['pylab'] packages ['matplotlib', 'matplotlib.backends', 'matplotlib.backends.qt4_editor', 'matplotlib.projections', 'matplotlib.testing', 'matplotlib.testing.jpl_units', 'matplotlib.tests', 'mpl_toolkits', 'mpl_toolkits.mplot3d', 'mpl_toolkits.axes_grid', 'mpl_toolkits.axes_grid1', 'mpl_toolkits.axisartist', 'matplotlib.sphinxext', 'matplotlib.numerix', 'matplotlib.numerix.mlab', 'matplotlib.numerix.ma', 'matplotlib.numerix.linear_algebra', 'matplotlib.numerix.random_array', 'matplotlib.numerix.fft', 'matplotlib.tri', 'matplotlib.delaunay'] running build running build_py copying lib/matplotlib/mpl-data/matplotlibrc -> build/lib.linux-i686-2.5/matplotlib/mpl-data copying lib/matplotlib/mpl-data/matplotlib.conf -> build/lib.linux-i686-2.5/matplotlib/mpl-data running build_ext sudo python setup.py install basedirlist is: ['/usr/local', '/usr'] ============================================================================ BUILDING MATPLOTLIB matplotlib: 1.0.0 python: 2.5.2 (r252:60911, Jul 23 2010, 23:04:44) [GCC 4.4.3] platform: linux2 REQUIRED DEPENDENCIES numpy: 1.4.1 freetype2: 11.1.5 OPTIONAL BACKEND DEPENDENCIES libpng: 1.4.3 Tkinter: no * TKAgg requires Tkinter wxPython: no * wxPython not found Gtk+: no * Building for Gtk+ requires pygtk; you must be able * to "import gtk" in your build/install environment Mac OS X native: no Qt: no Qt4: no Cairo: no OPTIONAL DATE/TIMEZONE DEPENDENCIES datetime: present, version unknown dateutil: 1.5 pytz: 2010h OPTIONAL USETEX DEPENDENCIES dvipng: no ghostscript: 8.71 latex: no pdftops: 0.12.4 [Edit setup.cfg to suppress the above messages] ============================================================================ pymods ['pylab'] packages ['matplotlib', 'matplotlib.backends', 'matplotlib.backends.qt4_editor', 'matplotlib.projections', 'matplotlib.testing', 'matplotlib.testing.jpl_units', 'matplotlib.tests', 'mpl_toolkits', 'mpl_toolkits.mplot3d', 'mpl_toolkits.axes_grid', 'mpl_toolkits.axes_grid1', 'mpl_toolkits.axisartist', 'matplotlib.sphinxext', 'matplotlib.numerix', 'matplotlib.numerix.mlab', 'matplotlib.numerix.ma', 'matplotlib.numerix.linear_algebra', 'matplotlib.numerix.random_array', 'matplotlib.numerix.fft', 'matplotlib.tri', 'matplotlib.delaunay'] running install running build running build_py copying lib/matplotlib/mpl-data/matplotlibrc -> build/lib.linux-i686-2.5/matplotlib/mpl-data copying lib/matplotlib/mpl-data/matplotlib.conf -> build/lib.linux-i686-2.5/matplotlib/mpl-data running build_ext running install_lib copying build/lib.linux-i686-2.5/matplotlib/mpl-data/matplotlibrc -> /usr/local/lib/python2.5/site-packages/matplotlib/mpl-data copying build/lib.linux-i686-2.5/matplotlib/mpl-data/matplotlib.conf -> /usr/local/lib/python2.5/site-packages/matplotlib/mpl-data running install_egg_info Removing /usr/local/lib/python2.5/site-packages/matplotlib-1.0.0-py2.5.egg-info Writing /usr/local/lib/python2.5/site-packages/matplotlib-1.0.0-py2.5.egg-info
-
Admin almost 14 yearsThanks for replies! I believe I've already install libpng.The following was done: Downloaded version 1.4.3 => tar -xvzf libpng-1.4.3.tar.gz => cd libpng-1.4.3 => ./configure => make => make install Shouldn't this be sufficient or are there some additional steps required?
-
Mark almost 14 years@Bjorkman, you should really try and install through your system's package manager. That said, did your compile produce the libpng14.so? If it did, did the make install put in on path (probably /usr/local/lib)? What is the output of "find /usr/lib/ -name libpng*" and "find /usr/local/lib/ -name libpng*"?
-
Admin almost 14 yearsLooks like the libpng14.so is located in /usr/local/lib/ lu@SilverBeauty:~$ find /usr/lib/ -name libpng* /usr/lib/vmware/lib/libpng12.so.0 /usr/lib/vmware/lib/libpng12.so.0/libpng12.so.0 ..truncated lu@SilverBeauty:~$ find /usr/local/lib/ -name libpng* /usr/local/lib/libpng14.la /usr/local/lib/libpng14.so.14 /usr/local/lib/libpng14.so /usr/local/lib/libpng.so /usr/local/lib/libpng14.a /usr/local/lib/libpng.a /usr/local/lib/pkgconfig/libpng.pc /usr/local/lib/pkgconfig/libpng14.pc /usr/local/lib/libpng14.so.14.3.0 /usr/local/lib/libpng.la
-
Admin almost 14 yearsI may mention that I have one version of python 2.6 installed by means of the package manager. By running Ipython on this I can get the matplotlib work correctly. The reason why I'm interested to get it work under Python 2.5 is that I'm testing out ompc (a matlab to python compiler) and this only supports 2.5
-
Mark almost 14 years@Bjorkeman, very confusing, did you build matplotlib from source as well? If you did, it should have picked up the libpng version 1.2 you have installed in /usr/lib.
-
Admin almost 14 yearsYes, the failing matplotlib was built from source. Here are the detailed steps: matplotlib: sudo apt-get install python-matplotlib This unfortunately installed into Python 2.6, which isn't compatible with the ompc. Works great when using: ipython -pylab (from console) In order to get it recognised by the Python 2.5 version: A manual download from sourceforge to ompc/matplotlib and -gunzip matplotlib-1.0.0.tar.gz -tar xvf matplotlib-1.0.0.tar -cd matplotlib-1.0.0/ -sudo python setup.py install Then got following error message: ft2build.h: No such file or directory
-
Admin almost 14 years[cont] This is due to missing freetype: downloaded ~/ompc/freetype-2.4.1 and installed with ./configure [options] make make install (as root) Also need libpng-1.4.3: tar -xvzf libpng-1.4.3.tar.gz (which in turn needs zlib: sudo apt-get install zlib1g-dev) cd libpng-1.4.3 ./configure make make install
-
Mark almost 14 yearsHmm, I'm running out of idea, see edits to my answer above, too many comments.
-
Admin almost 14 yearsThanks Mark, I really appreciated your effort. I rebuilt the matplotlib as you suggested and the result is added to edits above. After a new install the initial error message still retains.
-
Admin almost 14 yearsThanks ELenaher! This tip finally made me able to perform the import of pyplot. The LD_LIBRARY_PATH was empty but now contains the path to usr/local/lib. I read somewhere that it was not recommended to modify this variable? There are however still some issues: Running the plot command now renders a plot on the screen, but it is not possible to fill it with something meaningful. I guess this could be related to installing of Tkinter? I think I'll stick to my working Ipython version for now, and continue my experimenting with OMPC when it supports python 2.6.
-
Admin about 13 yearsI'm having exactly the same problem, tried using python2.5 and python2.7.
-
Westcroft_to_Apse over 11 yearsI had this problem too, although I'm using the native OSX version of Python 2.7 rather than the Macports version. In my case, simply removing matplotlib and then re-installing it with
easy_install
solved the problem.