安装mpi4py时出错

nar*_*324 20 python macos installation mpi

我正在尝试使用pip install mpi4py安装mpi4py,但是我收到以下错误:

error: Cannot find 'mpi.h' header. Check your configuration!!!
Run Code Online (Sandbox Code Playgroud)

在我之前的同一错误报告中,

clang: error: linker command failed with exit code 1 (use -v to see    invocation)
Run Code Online (Sandbox Code Playgroud)

问题可能是什么?

谢谢!

Ame*_*url 19

我遇到了类似的问题并首先解决了这个问题

brew install mpich
Run Code Online (Sandbox Code Playgroud)

然后

pip install mpi4py
Run Code Online (Sandbox Code Playgroud)


mcs*_*ell 19

正如错误所说,缺少库.我通过安装libopenmpi-dev包解决了这个问题

sudo apt install libopenmpi-dev
Run Code Online (Sandbox Code Playgroud)

然后使用pip安装mpi4py

sudo pip install mpi4py
Run Code Online (Sandbox Code Playgroud)

  • 请不要执行“sudo pip install XXX” (7认同)
  • 我在一台没有 sudo 权限的机器上。但我有康达。在这种情况下,@9Dragons 的回答解决了这个问题。`conda install -c conda-forge mpi4py mpich` (2认同)

小智 12

上述解决方案都不适合我。我只使用 conda 安装:

brew install mpich
Run Code Online (Sandbox Code Playgroud)
conda install mpi4py

Run Code Online (Sandbox Code Playgroud)


小智 7

你可以这样做:

brew install mpich
Run Code Online (Sandbox Code Playgroud)

然后

sudo find / -name mpicc
Run Code Online (Sandbox Code Playgroud)

最后

env MPICC=/yourpath/mpicc pip3 install mpi4py
Run Code Online (Sandbox Code Playgroud)


Rob*_*ham 5

如果mpi4py 找不到mpi.h,那么问题很可能是您如何将mpi4py 指向现有的mpi 库。

$ python setup.py build --mpicc=/where/you/have/mpicc
Run Code Online (Sandbox Code Playgroud)

现在,有一些与 OS X 相关的特殊情况。您应该查阅http://mpi4py.scipy.org/docs/usrman/install.html以查看是否有任何适用于您的情况。

  • 如果你想使用 pip,你可以这样做:`env MPICC=/path/to/mpicc/ pip install mpi4py` (3认同)