使用终端运行mpi4py文件时出错

时间:2019-03-30 00:35:45

标签: python anaconda mpi4py

我想在终端中运行一个mpi4py测试文件,但失败了。

操作系统是mac,我正在将anaconda2与python3配合使用。我通过anaconda环境安装了mpi4py。它可以在Pycharm上使用,Pycharm也使用anaconda环境。

测试代码为:

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
print ('Hello world from process %d at %s.' % (rank, node_name))

,然后在终端中运行:     mpirun -np 5 python test.py

错误消息是:

回溯(最近通话最近):   在第3行的文件“ test.py”中     从mpi4py导入MPI ImportError:没有名为mpi4py的模块 追溯(最近一次通话):   在第3行的文件“ test.py”中     从mpi4py导入MPI ImportError:没有名为mpi4py的模块 追溯(最近一次通话):   在第3行的文件“ test.py”中     从mpi4py导入MPI ImportError:没有名为mpi4py的模块 追溯(最近一次通话):   在第3行的文件“ test.py”中     从mpi4py导入MPI ImportError:没有名为mpi4py的模块 追溯(最近一次通话):   在第3行的文件“ test.py”中     从mpi4py导入MPI

ImportError:没有名为mpi4py的模块

mpirun注意到该作业已中止,但没有有关该进程的信息

导致这种情况的

2 个答案:

答案 0 :(得分:0)

把它弄清楚...

尽管我通过anaconda安装了mpi4py,并且默认的Python环境是anaconda,但它没有为本地环境安装mpi4py。

在pip安装mpi4py之后,它可以工作。

还是,我有点困惑为什么它起作用:(如果有人碰巧看到了这篇文章,请告诉我原因:)

无论如何...使用水蟒不是很有效。

答案 1 :(得分:0)

在命令行中尝试使用python3代替python

mpirun -np 5 python3 test.py

希望它能起作用。