windows上安装mpi4py

环境:windows 10, anaconda python=3.6

mpi4py是mpi的python接口,并不是mpi本身,所以首先要安装一个 MPI 实现软件,最好能支持 MPI-3 标准,并且最好是动态编译的。比较常用的 MPI 实现软件有 OpenMPI,MPICH 等。

这里下载openMPI的windows版本安装包OpenMPI_v1.6.2-2_win64.exe,和Microsoft MPI,将其Bin文件夹所在路径添入环境变量path。(不清楚是否两个都需要装,这里我两个都装了)

安装mpi4py的方法

 前期依赖软件安装好后,具体说明一下怎么安装mpi4py,博客上有很多种方法,但是我都失败了。。。所以才有了这篇博客

第一种错误方法(不是绝对错,但是我装了用不了)

pip install mpi4py,安装没有报错,conda list也能看到mpi4py成功安装,但是当运行测试文件时,from mpi4py import MPI会报错,说找不到MPI,然而我们已经安装MPI了,不知道为什么找不到,因此不得不放弃pip安装方式

第二种方式

conda install --channel https://conda.anaconda.org/dhirschfeld mpi4py 

这个方法可以成功,但是注意,必须是在python 2.7版本上,我在python 3.6版本上一直都安装报错,说pre-link等有问题。

python 2.7是可以成功安装的,并且测试也没有问题,可是环境一定要求是python 3.6时,就真的给跪了。

第三种方法(也是我在python 3.6成功安装的方法)

pip和conda都安装失败,只好转向源文件安装了,在https://bitbucket.org/mpi4py/mpi4py/downloads/上下载mpi4py-2.0.0.tar.gz,也许下载mpi4py-3.0.0.tar.gz也可以,我没有尝试,我看conda安装成功的版本是1.2.2,所以为保险起见就下了个低版本。。。

接下来依次运行下面的命令,这是参考于官网https://mpi4py.readthedocs.io/en/stable/install.html的安装方式,每执行一句都会输出很多很多话,其中还有“无法打开输入文件”等信息,不要慌张,执行完所有命令后,conda list看有没有mpi4py,假如有多半是安装成功了,运行一下测试文件看一下就知道了。

$ tar -zxf mpi4py-X.Y.tar.gz
$ cd mpi4py-X.Y
$ python setup.py build
$ python setup.py build --mpi=other_mpi
$ python setup.py install

测试方法

mpiexec -n 4 python C:\Users\YourName\Documents\Python\YourMPItest.py 

测试代码

from mpi4py import MPI

comm = MPI.COMM_WORLD
size = comm.Get_size()
rank = comm.Get_rank()
node_name = MPI.Get_processor_name() # get the name of the node

祝各位安装顺利!~

 

猜你喜欢

转载自www.cnblogs.com/starryxsky/p/10344344.html