2015-09-19 4 views
2

J'essaye de construire h5py contre mpi4py. Mon but est de pouvoir partager un fichier entre plusieurs processeurs. h5py est installé sur le système mais probablement pas avec le lien vers mpi4py. En fait, quand je lance le script exemple suivant:h5py pas construit correctement contre mpi4py

from mpi4py import MPI 
import h5py 

rank = MPI.COMM_WORLD.rank # The process ID (integer 0-3 for 4-process run) 

f = h5py.File('parallel_test.hdf5', 'w', driver='mpio', comm=MPI.COMM_WORLD) 

dset = f.create_dataset('test', (4,), dtype='i') 
dset[rank] = rank 

f.close() 

Je reçois le message d'erreur:

Traceback (most recent call last): 
    File "h5py_example.py", line 6, in <module> 
    f = h5py.File('parallel_test.hdf5', 'w', driver='mpio', comm=MPI.COMM_WORLD) 
    File "/usr/local/lib/python2.7/site-packages/h5py/_hl/files.py", line 259, in __init__ 
    fapl = make_fapl(driver, libver, **kwds) 
    File "/usr/local/lib/python2.7/site-packages/h5py/_hl/files.py", line 61, in make_fapl 
    kwds.setdefault('info', mpi4py.MPI.Info()) 
NameError: global name 'mpi4py' is not defined 

J'ai essayé de construire h5py comme suit:

python setup.py build --mpi --hdf5=/opt/local/ 

mais me donne le problème suivant:

error: option --mpi not recognized 

J'ai aussi essayé une installation avec homebrew et pip (en espérant que mpi4py avait été lié automatiquement) sans succès.

Comment puis-je installer h5py parallèlement?

+1

J'ai eu le même problème, avec des paquets installés à partir d'apt. Ceci devrait être également adressé par les mainteneurs. – user1603472

Répondre

2
  1. python setup.py configure --mpi --hdf5=/path_parallel_hdf5_lib/

  2. python setup.py build

  3. python setup.py install --prefix=/wheretoinstall_h5py

  4. export PYTHONPATH=$PYTHONPATH:/wheretoinstall_h5py

Vous pourriez aussi avoir besoin d'effectuer une pré-installation cython

+0

Cela peut être évident (je ne connais pas Python) mais pouvez-vous expliquer pourquoi l'OP devrait utiliser 'configure' au lieu de 'build'? – BSMP

+0

pourriez-vous signaler les étapes de l'installation depuis le début? J'ai téléchargé l'archive tar avec hdf5. – Helios83

+0

Désolé, je voulais dire que vous devriez [modifier] cette information que vous venez de commenter à Helios83 dans votre réponse. – BSMP