OpenMPI で mpi4py ライブラリを使用して、分散メモリ プログラムを開発しています。これまでのところ、バニラの 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 のニュアンスにあまり詳しくありません。ここで明らかな何かが欠けていますか?
(注: OpenMPI はsudo dnf -y install openmpi openmpi-devel
F22 にインストール済みです)