3

当我尝试安装 pyhdf 时,会发生此错误:

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 string 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 string 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-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-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

知道有什么问题吗?谢谢你。

4

3 回答 3

4

您可能需要安装libhdf4-dev软件包。

与其使用sudo将软件包安装到您的系统中,不如花一些时间阅读有关virtualenv的信息。

于 2013-09-12T08:06:17.607 回答
2

即使使用 libhdf4-dev 包,您也会遇到丢失 hdf.h 文件的问题(我做过)。似乎代码 setup.py(在安装存档中)没有正确处理指定 HDF4 库所在位置的环境变量。

我按照http://pysclint.sourceforge.net/pyhdf/install.html的分步说明解决了这个问题,但是您必须在命令行中添加您的 hdf 库而不是导出它:

INCLUDE_DIRS=/usr/include/hdf/  [note it may be different in your system ]

sudo python setup.py install -i $INCLUDE_DIRS

如果您没有/想要 szlib,则 NOSZIP 变量也存在同样的问题,但在这里我在第 29 行修改了 setup.py:

szip_installed=False

然后安装工作正常。

于 2014-04-16T14:39:02.193 回答
1

要解决这个问题,首先需要安装hdf开发包。

sudo apt-get install libhdf4-dev

于 2013-09-12T08:31:33.847 回答