Impossible d’installer pyhdf sur Ubuntu 13.04

Lorsque j’essaie d’installer pyhdf, cette erreur se produit:

sudo easy_install -f pyhdf-0.8.3.tar.gz pyhdf Searching for pyhdf Best match: pyhdf 0.8.3 Processing pyhdf-0.8.3.tar.gz Writing /tmp/easy_install-Q0FIMR/pyhdf-0.8.3/setup.cfg Running pyhdf-0.8.3/setup.py -q bdist_egg --dist-dir /tmp/easy_install-Q0FIMR/pyhdf-0.8.3/egg-dist-tmp-wXq_6K pyhdf/hdfext_wrap.c: In function 'SWIG_Python_AddErrorMsg': pyhdf/hdfext_wrap.c:859:5: warning: format not a ssortingng literal and no format arguments [-Wformat-security] pyhdf/hdfext_wrap.c: At top level: pyhdf/hdfext_wrap.c:3048:17: fatal error: hdf.h: No such file or directory compilation terminated. pyhdf/hdfext_wrap.c: In function 'SWIG_Python_AddErrorMsg': pyhdf/hdfext_wrap.c:859:5: warning: format not a ssortingng literal and no format arguments [-Wformat-security] pyhdf/hdfext_wrap.c: At top level: pyhdf/hdfext_wrap.c:3048:17: fatal error: hdf.h: No such file or directory compilation terminated. error: Setup script exited with error: Command "x86_64-linux-gnu-gcc -pthread -fno-ssortingct-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wssortingct-prototypes -fPIC -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c pyhdf/hdfext_wrap.c -o build/temp.linux-x86_64-2.7/pyhdf/hdfext_wrap.o" failed with exit status 1 /usr/lib/python2.7/dist-packages/numpy/distutils/misc_util.py:252: RuntimeWarning: Parent module 'numpy.distutils' not found while handling absolute import from numpy.distutils import log 

Une idée de ce qui ne va pas? Je vous remercie.

Vous devez probablement installer le libhdf4-dev .

Et au lieu d’utiliser sudo pour installer des paquets sur votre système, prenez le temps de lire à propos de virtualenv .

Même avec le paquet libhdf4-dev, vous pouvez rencontrer le problème avec le fichier hdf.h manquant (j’ai fait). Il semble que le code setup.py (dans l’archive d’installation) ne gère pas correctement la variable d’environnement qui spécifie où se trouve la bibliothèque HDF4.

J’ai résolu le problème en suivant les instructions détaillées de http://pysclint.sourceforge.net/pyhdf/install.html, mais vous devez append dans la ligne de commande votre bibliothèque hdf au lieu de l’exporter:

 INCLUDE_DIRS=/usr/include/hdf/ [note it may be different in your system ] sudo python setup.py install -i $INCLUDE_DIRS 

Même problème pour la variable NOSZIP si vous n’avez pas / ne voulez pas szlib, mais ici j’ai modifié setup.py sur la ligne 29:

 szip_installed=False 

Ensuite, l’installation fonctionne bien.

Pour résoudre le problème, vous devez d’abord installer le package de développement hdf .

sudo apt-get install libhdf4-dev