H5py.文件函数为 mpi4py 抛出 NameError



我正在使用 h5py 和 mpi4py。我正在读取一个 h5 文件,h5py.File(fname, 'w', driver='mpio', comm=MPI.COMM_WORLD)但我收到一个名称错误。

我检查了错误来源的源代码,它需要h5py.h5.get_config().mpi为 True 才能导入 mpi4py。但它设置为假。我安装了 mpi4py,效果很好。

当我更新numpy时,问题就开始了,我试图回到以前的版本,但它没有解决问题。在此更新之前,我对h5py没有问题

完整的消息错误是:

  File "main.py", line 87, in <module>
    memory = H5_memory(MEM_SIZE, STATE_SHAPE , fname)
  File "/My/work/dir/memory.py", line 185, in __init__
    self.f = h5py.File(fname, 'w', driver='mpio', comm=MPI.COMM_WORLD)
  File "/home/miniconda/envs/lib/python3.5/site-packages/h5py/_hl/files.py", line 270, in __init__
    fapl = make_fapl(driver, libver, **kwds)
  File "/hom/miniconda/envs/lib/python3.5/site-packages/h5py/_hl/files.py", line 73, in make_fapl
    kwds.setdefault('info', mpi4py.MPI.Info())
NameError: name 'mpi4py' is not defined

你对如何解决这个问题有任何想法吗?我没有找到任何可以帮助我在线的答案。

谢谢

查看 h5py 的安装文档,看起来安装支持 MPI 的 HDF5 库的并行版本是一种选择,因此您可能在没有该选项的情况下安装了它或错误配置了环境变量,例如 HDF5_MPI=ON .

最新更新