Ошибка установки Python netCDF4

Я пытаюсь установить пакет netCDF4 для python 2.7 на Ubuntu 14.04 с

sudo pip install --user netCDF4

Установка завершается со следующей ошибкой:

error: unknown file type '.pyx' (from 'netCDF4/_netCDF4.pyx')

Единственный намек, который я нашел в других темах, заключался в том, что это как-то связано с pyrex/Cython. Любая идея, что я могу сделать, чтобы исправить это?

Вот весь вывод установки:

haaviston@tuomi13kl:~/.local/lib/python2.7/site-packages/pkg_resources$ pip install --user netCDF4
Downloading/unpacking netCDF4
  Downloading netCDF4-1.3.0.tar.gz (542kB): 542kB downloaded
  Running setup.py (path:/tmp/pip_build_haaviston/netCDF4/setup.py) egg_info for package netCDF4
    Package hdf5 was not found in the pkg-config search path.
    Perhaps you should add the directory containing `hdf5.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'hdf5' found
    using nc-config ...

        HDF5_DIR environment variable not set, checking some standard locations ..
    checking /home/haaviston ...
    checking /usr/local ...
    checking /sw ...
    checking /opt ...
    checking /opt/local ...
    checking /usr ...
    HDF5 library version: 1.8.11 found in /usr
    using netcdf library version 4.1.3
    using Cython to compile netCDF4.pyx...
    netcdf lib does not have group rename capability
    netcdf lib has nc_inq_path function
    netcdf lib does not have nc_inq_format_extended function
    netcdf lib does not have nc_open_mem function
    netcdf lib does not have cdf-5 format capability

Requirement already satisfied (use --upgrade to upgrade): numpy>=1.7 in /usr/lib/python2.7/dist-packages (from netCDF4)
Installing collected packages: netCDF4
  Running setup.py install for netCDF4
    Package hdf5 was not found in the pkg-config search path.
    Perhaps you should add the directory containing `hdf5.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'hdf5' found
    using nc-config ...

        HDF5_DIR environment variable not set, checking some standard locations ..
    checking /home/haaviston ...
    checking /usr/local ...
    checking /sw ...
    checking /opt ...
    checking /opt/local ...
    checking /usr ...
    HDF5 library version: 1.8.11 found in /usr
    using netcdf library version 4.1.3
    using Cython to compile netCDF4.pyx...
    netcdf lib does not have group rename capability
    netcdf lib has nc_inq_path function
    netcdf lib does not have nc_inq_format_extended function
    netcdf lib does not have nc_open_mem function
    netcdf lib does not have cdf-5 format capability
    building 'netCDF4._netCDF4' extension
    error: unknown file type '.pyx' (from 'netCDF4/_netCDF4.pyx')
    Complete output from command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_haaviston/netCDF4/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-5Mjz_n-record/install-record.txt --single-version-externally-managed --compile --user:
    Package hdf5 was not found in the pkg-config search path.

Perhaps you should add the directory containing `hdf5.pc'

to the PKG_CONFIG_PATH environment variable

No package 'hdf5' found

reading from setup.cfg...

using nc-config ...



    HDF5_DIR environment variable not set, checking some standard locations ..

checking /home/haaviston ...

checking /usr/local ...

checking /sw ...

checking /opt ...

checking /opt/local ...

checking /usr ...

HDF5 library version: 1.8.11 found in /usr

using netcdf library version 4.1.3

using Cython to compile netCDF4.pyx...

netcdf lib does not have group rename capability

netcdf lib has nc_inq_path function

netcdf lib does not have nc_inq_format_extended function

netcdf lib does not have nc_open_mem function

netcdf lib does not have cdf-5 format capability

running install

running build

running build_py

creating build

creating build/lib.linux-x86_64-2.7

creating build/lib.linux-x86_64-2.7/netcdftime

copying netcdftime/__init__.py -> build/lib.linux-x86_64-2.7/netcdftime

creating build/lib.linux-x86_64-2.7/netCDF4

copying netCDF4/__init__.py -> build/lib.linux-x86_64-2.7/netCDF4

copying netCDF4/utils.py -> build/lib.linux-x86_64-2.7/netCDF4

running build_ext

building 'netCDF4._netCDF4' extension

error: unknown file type '.pyx' (from 'netCDF4/_netCDF4.pyx')

----------------------------------------
Cleaning up...
Command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_haaviston/netCDF4/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-5Mjz_n-record/install-record.txt --single-version-externally-managed --compile --user failed with error code 1 in /tmp/pip_build_haaviston/netCDF4
Storing debug log for failure in /home/haaviston/.pip/pip.log

person nooramaria    schedule 20.10.2017    source источник
comment
Посмотрите, поможет ли установка пакета cython; но это может быть что-то плохое в самой настройке netCDF4 (если только это должно было проверить сам Cython и выйти с правильным сообщением об ошибке, если оно не существует).   -  person    schedule 20.10.2017
comment
Cython уже установлен :/   -  person nooramaria    schedule 20.10.2017
comment
Тогда либо инструменты сборки не могут найти Cython, либо установка netCDF4 настроена неправильно. Можете ли вы снова запустить установку с параметром -v или даже -vv (подробно)? Это может дать много информации; просто найдите соответствующий материал, откуда он строит netCDF4._netCDF4. Может оказаться полезным увидеть фактические команды компоновщика/компилятора.   -  person    schedule 20.10.2017
comment
pip install --user -verbose не вывел ничего о netCDF4._netCDF4, чего не было в опубликованном мной выводе :( Было предупреждение: writing manifest file 'pip-egg-info/netCDF4.egg-info/SOURCES.txt' warning: manifest_maker: standard file '-c' not found Может ли это быть как-то связано с пакетом hdf5, хотя установка кажется обойти, не найдя его сначала?   -  person nooramaria    schedule 20.10.2017
comment
Вы пытались установить netcdf4-python с помощью conda? Это было лучшее для меня. anaconda.org/conda-forge/netcdf4   -  person N1B4    schedule 20.10.2017
comment
Думаю, я пойду с этим или обновлюсь до Ubuntu 16 и посмотрю, исчезнет ли проблема с чистой ОС.   -  person nooramaria    schedule 23.10.2017
comment
Вы пропустили установку HDF5: Возможно, вам следует добавить каталог, содержащий `hdf5.pc. Что-то вроде sudo apt-get install libhdf5-serial-dev netcdf-bin libnetcdf-dev. См. также здесь: stackoverflow.com/questions/36164410/< /а>   -  person Trond Kristiansen    schedule 24.10.2017
comment
Я пробовал все это без успеха. Теперь удалось установить более старую версию с pip install --user netCDF4==1.2.2   -  person nooramaria    schedule 27.10.2017