首页 > 解决方案 > 无法使用 conda 安装 mpi4py 并指定预安装的 mpicc 路径

问题描述

我试过安装mpi4py

env MPICC=path/to/openmpi/bin/mpicc conda install -c anaconda mpi4py

但我收到这条消息:

The following NEW packages will be INSTALLED:
  mpi                anaconda/linux-64::mpi-1.0-mpich
  mpi4py             anaconda/linux-64::mpi4py-3.0.3-py37h028fd6f_0
  mpich              anaconda/linux-64::mpich-3.3.2-hc856adb_0

这似乎表明“MPICC=path/to/openmpi/bin/mpicc”被忽略了。

事实上,在mpi4py使用 mpich 安装后,并尝试使用以下简单代码运行mpirun -n 2 python mpi4pyTest.py

from mpi4py import MPI
comm = MPI.COMM_WORLD
size = comm.Get_size()
rank = comm.Get_rank()
print('Hello from processor {} of {}'.format(rank+1,size))

输出是:

Hello from processor 1 of 1
Hello from processor 1 of 1

我怎样才能让 condampi4py与我自己的 mpicc 链接?它的位置设置在 PATH 环境变量以及 LD_LIBARY_PATH 中。

此致。

标签: pythonanacondampicondampi4py

解决方案


conda install从存储库中提取预编译的二进制包及其依赖项。如果您想mpi4py使用自己的 MPI 实现构建,请pip改用从源代码安装。您可以pip与 Conda 环境一起使用。

编辑完成

使用卸载所有软件包conda remove,然后mpi4py使用安装pip(为您的 MPI C 编译器指定 MPICC 环境变量),或者从新环境开始。


推荐阅读