web-dev-qa-db-fra.com

Erreur lors de l'installation de mpi4py

J'essaie d'installer mpi4py à l'aide de pip install mpi4py, mais le message d'erreur suivant s'affiche: 

error: Cannot find 'mpi.h' header. Check your configuration!!!

Plus tôt dans le même rapport d'erreur que j'ai,

clang: error: linker command failed with exit code 1 (use -v to see    invocation)

Quel pourrait être le problème? 

Merci!

15
nargles324

J'ai rencontré le même problème et j'ai tout d'abord résolu le problème 

brew install mpich

Et alors 

pip install mpi4py
17
American curl

Comme le dit l'erreur, il manque des bibliothèques. Je l'ai résolu en installant le paquet libopenmpi-dev

Sudo apt install libopenmpi-dev

puis installé le mpi4py en utilisant pip

Sudo pip install mpi4py
13
user2848056

tu peux le faire:

brew install mpich

puis 

Sudo find / -name mpicc

enfin

env MPICC=/yourpath/mpicc pip3 install mpi4py
3
demonchang

Si mpi4py ne parvient pas à trouver le fichier mpi.h, le problème est probablement de savoir comment vous pointez mpi4py vers votre bibliothèque mpi existante.

$ python setup.py build --mpicc=/where/you/have/mpicc

À présent, il existe quelques cas particuliers liés à OS X. Vous devriez consulter http://mpi4py.scipy.org/docs/usrman/install.html pour voir s’ils s’appliquent.

3
Rob Latham

Si quelqu'un tombe et a le même problème que moi:

Je voulais installer mpi4py en utilisant pip en tant que root:

Sudo pip install mpi4py

J'ai reçu le message d'erreur indiquant que mpi.h était manquant lors de l'installation. Le chemin a été défini correctement, mais uniquement pour mon utilisateur, pas pour root. Par conséquent, si vous rencontrez des problèmes avec des bibliothèques/en-têtes manquants au cours de toute installation, assurez-vous que l'environnement approprié est également configuré pour root.

Comme j'utilise mpi-selector pour sélectionner l'implémentation mpi que vous utilisez, il me suffisait d'exécuter mpi-selector en tant que root pour tout configurer correctement, et l'installation a réussi.

0
thepith