Как полностью удалить HDF5?

Вопрос или проблема

Я хочу запустить сценарий на Python, который использует модуль netCDF4. Поэтому я следовал инструкциям здесь: http://netcdf4-python.googlecode.com/svn/trunk/docs/netCDF4-module.html

По какой-то причине он не работает с установленной мной версией HDF5. Я установил последнюю версию (1.8.10) в своей домашней директории. Но Python выдает эту ошибку:

$ 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 должен быть связан с HDF5 версии 1.8.4-patch1 или выше, получена 1.8.10

Поэтому я вручную удалил папки для версии 1.8.10 из своей домашней директории и установил 1.8.4-patch1. (Возможно, версия ‘.10’ несовместима?)

Но это не решает проблему. Ошибка при запуске сценария на Python всё еще остается той же. Поэтому я подумал, что где-то осталась часть версии ‘.10’, которую я не удалил, и начал искать ‘hdf5’:

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

/user/timo/hdf5 установлена версия 1.8.4-patch1)

Я полагаю, мой сценарий на Python заработает, после того как я полностью удалю версию 1.8.10.

Может кто-то помочь мне?

(Я использую ‘Ubuntu 12.04.1 LTS’ и ‘Python2.7’)

Я бы удалил как netCDF4, так и HDF5, выполнив команду

apt-get remove --purge python-netcdf hdf5

Это также удалит связанные пакеты.

Это может быть более безопасно:

dpkg -r python-netcdf hdf5
apt-get autoremove

Затем следует переустановка netCDF4 и зависимостей, используя в основном статью для Ubuntu 14 LTS.

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

Это хорошее решение для предотвращения ошибок модуля scipy python (с www.scipy.org):

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

(Пере)Установите библиотеку zlib:

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

(Пере)Установите curl:

apt-get install curl

(Пере)Установите HDF5:

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:

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

И, в конце концов, модуль netCDF4:

pip install netcdf4

Теперь команда Python import netCDF4 должна работать.

Ответ или решение

Чтобы полностью удалить HDF5 и установить совместимую версию, вам необходимо выполнить следующие шаги на вашем компьютере с операционной системой Ubuntu 12.04.1 LTS.

Удаление HDF5 и netCDF4

  1. Откройте терминал.

  2. Выполните команду для удаления пакетов hdf5 и python-netcdf:

    sudo apt-get remove --purge python-netcdf hdf5

    Эта команда удалит указанные пакеты и освободит место, удалив ненужные зависимые пакеты.

  3. Чтобы обеспечить более безопасное удаление, вы можете сначала удалить пакеты с помощью dpkg, а затем произвести автоматическое удаление оставшихся зависимостей:

    sudo dpkg -r python-netcdf hdf5
    sudo apt-get autoremove

Установка зависимостей

Перед установкой новой версии HDF5 и netCDF4 убедитесь, что у вас установлены все необходимые зависимости. Выполните следующую команду:

sudo apt-get install git python python-dev python-pip libatlas-base-dev gcc gfortran g++ cython python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose

Установка zlib

  1. Скачайте zlib:

    wget ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4/zlib-1.2.8.tar.gz
  2. Распакуйте архив и установите:

    tar xvzf zlib-1.2.8.tar.gz
    cd zlib-1.2.8
    ./configure
    make
    sudo make install

Установка HDF5

  1. Скачайте HDF5:

    wget ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4/hdf5-1.8.4-patch1.tar.gz
  2. Распакуйте и установите:

    tar xvzf hdf5-1.8.4-patch1.tar.gz
    cd hdf5-1.8.4-patch1
    ./configure --prefix=/usr/local --enable-shared --enable-hl
    make -j 2
    sudo make install

Установка netCDF4

  1. Скачайте netCDF4:

    wget ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4.3.2.tar.gz
  2. Распакуйте и установите:

    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
    sudo make install
    sudo make check

Установка Python модуля netCDF4

Убедитесь, что у вас установлен pip, затем выполните:

pip install netcdf4

Проверка установки

Теперь вы можете проверить, работает ли импорт модуля netCDF4:

import netCDF4

Если никаких ошибок не возникло, установка прошла успешно.

Следуя этим шагам, вы сможете полностью удалить HDF5 и установить совместимую версию, а также настроить netCDF4 для работы в вашем окружении.

Оцените материал
Добавить комментарий

Капча загружается...