我不知道为什么这些软件包总是那么难安装。我已经使用了很长一段时间了,无论是在Linux上还是OSX上,无论是C、C++还是现在的python,让它们安装或运行都是一次纯粹的恐怖之旅。对于许多人来说,netcdf4和hdf5之间的简单依赖是一个巨大痛苦的来源,我真的希望这些包的开发人员能够对此做些什么。
因此,我面临的最新具体问题是:我正在尝试为python安装netCDF4。我得到以下错误:
Package hdf5 was not found in the pkg-config search path
Perhaps you should add the directory containing `hdf5.pc'我尝试使用apt安装hdf5包,包括:
使用pip,我试着:
pip install h5py它不幸地失败了,无法解决对Cython的依赖,然后我手动安装了Cython。之后,它安装了(显然),但我在任何地方都找不到hdf5.pc文件。
我要把头发拔出来。有人知道怎么解决这个问题吗?
发布于 2016-03-29 18:32:31
当您混合分发包和自建包时,您会增加问题的可能性(正如您正在发现的)。
另外,您想要h5py还是想要netcdf-python?我不认为netcdf-python依赖于h5py。相反,netcdf-python绑定到depends库,而后者又依赖于C HDF5库。
h5py同样绑定到C HDF5
有很多软件涉及到,这是真的。一步一步地完成你的工作,它最终会更有意义(一个已经做了15年的人说…它变得更容易!)
是的,这是很多软件的配置和构建。pkg-config在这里有很大的帮助!当您看到Package hdf5 was not found in the pkg-config search path时,这意味着您应该调整您的PKG_CONFIG_DIR以指向package文件的位置。不幸的是,hdf5没有提供一个.pc (Package)文件,所以您只能手工完成这个部分。哦,而且netcdf也没有提供pkg-config :它提供了netcdf-python将使用的脚本netcdf。
让我举一个具体的例子:
/home/robl/soft/mpich-master中的MPICH-主机/home/robl/soft/hdf5-1.8.16 中../../hdf5-1.8.16/configure --prefix=/home/robl/work/soft/hdf5-1.8.16 CC=/home/robl/work/soft/mpich/bin/mpicc --enable-parallel
/home/robl/soft/netcdf-master 中./configure CC=${HOME}/work/soft/mpich/bin/mpicc --prefix=${HOME}/work/soft/netcdf-master CPPFLAGS=-I${HOME}/work/soft/hdf5-1.8.16/include LDFLAGS=-L${HOME}/work/soft/hdf5-1.8.16/lib
现在,您已经拥有了netcdf-python的所有预申购器。
顺便说一句,http://unidata.github.io/netcdf4-python/列出了先决条件和必要的配置选项。
不要被有关hdf5.pc的唠叨所困扰。如果您的路径中有nc,它将提供所需的信息。
如果您正在构建并行编程,请将CC设置为MPI编译器。如果没有,可以跳过导出CC=.‘’。步骤:
cd netcdf-python
export CC=${HOME}/work/soft/mpich/bin/mpicc
export PATH=${HOME}/work/soft/netcdf-master/bin:${PATH}
python setup.py buildhttps://stackoverflow.com/questions/36265426
复制相似问题