1

我一直在使用带有 OpenMPI 的 mpi4py 库来开发分布式内存程序。到目前为止,我一直在使用 vanilla Python 2.7 (CPython)。

根据mpi4py 项目页面,mpi4py 兼容“PyPy 2.0 及以上”。

在我安装 Fedora 22 时,我安装了 PyPy 2.4.0:

sudo dnf install pypy pypy-devel

然后我创建了一个 virtualenv 并通过以下方式激活它:

virtualenv env -p $(which pypy) && . env/bin/activate

然后我尝试使用 pip 安装 mpi4py:

pip install mpi4py

但我收到以下错误:

...
File "conf/mpidistutils.py", line 121, in customize_compiler
   cxx = cxx .replace('-pthread', '')
AttributeError: 'NoneType' object has no attribute 'replace'

但是,在使用常规 CPython 时,这组相同的步骤可以正常工作。我对 PyPy 的细微差别不是很熟悉。我在这里遗漏了一些明显的东西吗?

(注意:我已经sudo dnf -y install openmpi openmpi-devel在 F22 上安装了 OpenMPI)

4

0 回答 0