尝试在 mac 上安装 mpi4py 时出现错误
ERROR: Failed building wheel for mpi4py
Failed to build mpi4py
ERROR: Could not build wheels for mpi4py, which is required to install pyproject.toml-based projects
还有
#include <mpi.h>
^~~~~~~
1 error generated.
failure.
removing: _configtest.c _configtest.o
error: Cannot compile MPI programs. Check your configuration!!!
我已经看到了一些答案,但没有一个答案似乎在Mac上有效,例如
sudo apt-get install lipopenmpi-dev
结果为 sudo: apt-get: command not found
要使
mpi4py
正常工作,您需要 MPI 库。在 Debian 风格的 Linux 机器上,这确实可能类似于 sudo apt-get lipopenmpi-dev
,但在 macOS 上则不然。
您可以尝试在Conda环境中安装它。我更喜欢 Homebrew,这通常在只有一个人使用的系统上运行良好(例外情况是当您有多个项目需要冲突的 MPI 版本时,例如版本 3.x、4.x 或 5.0)。 Homebrew 还有大量其他有用的软件包(Conda 也是如此)。
从 https://brew.sh/ 安装 Homebrew,然后按照说明进行设置。您应该只需要
sudo
一次,即可创建 /opt/homebrew
或您喜欢的 /
中的任何目录(只需远离任何现有的系统目录)。
搜索例如使用
brew search mpi
打开 MPI,然后在找到可能的包名称后使用 brew info open-mpi
(例如,还有 mpich
)。现在安装它:brew install open-mpi
(不需要 sudo)。 MPI 手册中也显示了这一点:https://docs.open-mpi.org/en/v5.0.x/installing-open-mpi/quickstart.html .
请注意,这将安装 5.0 版本(并随着时间的推移进行更新,只要您运行 Homebrew 更新)。
您可能需要将 mpi4py 指向您的 open-MPI 安装位置。要查找文件,请执行
brew list open-mpi
。你会发现mpicc
包装纸位于/opt/homebrew/Cellar/open-mpi/5.0.1/bin/mpicc
(至少我的是);按照MPI4py安装手册,即可运行
env MPICC=/opt/homebrew/Cellar/open-mpi/5.0.1/bin/mpicc python -m pip install mpi4py
这应该适用于常规系统Python,任何手动安装的Python,或者在虚拟环境中,甚至在Conda环境中(尽管在后一种情况下,您显然希望尝试通过Conda安装mpi4py,然后还应该安装自己的 open-mpi 库)。