Wie lösche ich HDF5 komplett?

1

Ich möchte ein Python-Skript ausführen, das das Modul netCDF4 verwendet. Daher habe ich die Anweisungen hier befolgt: http://netcdf4-python.googlecode.com/svn/trunk/docs/netCDF4-module.html

Aus welchem ​​Grund auch immer, es funktioniert nicht mit der HDF5-Version, die ich installiert habe. Ich habe die neueste Version (1.8.10) in meinem Home-Verzeichnis installiert. Aber Python kommt mit diesem Fehler:

$ import netCDF4
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
/user/timo/<ipython-input-2-f731da2de255> in <module>()
----> 1 import netCDF4
/user/timo/netCDF4.pyx in init netCDF4 (netCDF4.c:46771)()
ImportError: netCDF4 module must be linked against HDF5 version 1.8.4-patch1 or higher, got 1.8.10

Also habe ich die Ordner für die 1.8.10-Version (manuell) aus meinem Home-Verzeichnis gelöscht und den 1.8.4-Patch1 installiert. (Vielleicht ist die '.10'-Version nicht kompatibel?)

Aber das löst das Problem nicht. Der Fehler beim Ausführen des Python-Skripts ist immer noch derselbe. Deshalb dachte ich, dass irgendwo irgendetwas von der '.10'-Version sein muss, das ich nicht gelöscht habe, und suchte nach' hdf5 ':

4> sudo find / -name 'hdf5'
/user/timo/hdf5
/user/timo/Downloads/hdf5-1.8.4-patch1/windows/proj/hdf5

(In '/ user / timo / hdf5' befindet sich die installierte '1.8.4-patch1'-Version)

Ich vermute, mein Python-Skript wird ausgeführt, nachdem ich die '1.8.10'-Version vollständig gelöscht habe. Kann mir jemand weiterhelfen?

(Ich benutze 'Ubuntu 12.04.1 LTS' und 'Python2.7')

Timo
quelle

Antworten:

0

Ich bin definitiv auch kein Experte, aber wenn Sie sich die von Ihnen verlinkte netCDF4-Seite ansehen, müssen Sie sie wahrscheinlich nach der Installation der älteren HDF5-Version neu erstellen.

Allerdings frage ich mich, ob Sie netCDF4 mit den Flags erstellen, die unter "Erforderlich" aufgeführt sind, warum die neueste Version nicht funktionieren sollte.

Was exportheißt das? Sind Ihre HDF5-Variablen richtig eingestellt?

Riesenmolekular Klaus
quelle
0

Ich würde sowohl netCDF4 als auch HDF5 durch Ausführen entfernen

apt-get remove --purge python-netcdf hdf5

Dies wird auch verwandte Pakete zum Verschwinden bringen.

Dies könnte sicherer sein:

dpkg -r python-netcdf hdf5
apt-get autoremove

gefolgt von der Neuinstallation von netCDF4 und Abhängigkeiten, die am häufigsten in einem Artikel für Ubuntu 14 LTS verwendet wurden .

apt-get install git git-doc git-el git-email git-gui gitk gitweb git-arch git-bzr git-cvs git-mediawiki git-svn python python-dev python-pip libatlas-base-dev gcc gfortran g++ cython

Dies ist gut, um spätere Scipy-Python-Modul-Fehler zu vermeiden [von www.scipy.org]

apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose

zlib library (neu) installieren:

ftp.unidata.ucar.edu/pub/netcdf/netcdf-4/zlib-1.2.8.tar.gz
cd /home/user/Downloads
tar xvzf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure 
make 
make install

(re) installiere curl:

apt-get install curl

HDF5 (neu) installieren:

ftp.unidata.ucar.edu/pub/netcdf/netcdf-4/hdf5-1.8.9.tar.gz
cd /home/user/Downloads 
tar xvzf hdf5-1.8.9.tar.gz
cd hdf5-1.8.9
./configure --prefix=/usr/local --enable-shared --enable-hl
make -j 2
make install

netCDF4 (neu) installieren:

ftp.unidata.ucar.edu/pub/netcdf/netcdf-4.3.2.tar.gz
cd /home/user/Downloads
tar xvzf netcdf-4.3.2.tar.gz
cd netcdf-4.3.2

LDFLAGS=-L/usr/local/lib CPPFLAGS=-I/usr/local/include ./configure --enable-netcdf-4 --enable-dap --enable-shared --prefix=/usr/local
make -j 2
make install
make check

und endlich das netCDF4 Modul

pip install netcdf4

jetzt sollte der python "import netCDF4" funktionieren

fometeo
quelle