web-dev-qa-db-ja.com

pypyの下にscipyをインストールすることは可能ですか?

Pypyでvirtualenvを作成し、scipyをインストールしようとしましたが、インストールが次のエラーで終了しました。

distutils.errors.DistutilsError:セットアップスクリプトがエラーで終了しました:コマンド "cc -O2 -fPIC -Wimplicit -O2 -fPIC -Wimplicit -O2 -fPIC -Wimplicit -DHAVE_NPY_CONFIG_H = 1 -D_FILE_OFFSET_BITS = 64 -D_LARGEFILE_SOURCE = 1 -D_LARGEFILE64 DNO_ATLAS_INFO = 1 -DHAVE_CBLAS -Ibuild/src.linux-x86_64-3.2/numpy/core/src/private -Inumpy/core/include -Ibuild/src.linux-x86_64-3.2/numpy/core/include/numpy -Inumpy/core/src/private -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/home/luke/Programowanie/Python/connect4/venv-pypy/include -Ibuild/src.linux-x86_64-3.2/numpy/core/src/private -Ibuild/src.linux-x86_64-3.2/numpy/core/src/private -Ibuild/src.linux-x86_64-3.2/numpy/core/src/private -c numpy/core/src/multiarray/scalarapi.c -o build/temp.linux-x86_64-3.2/numpy/core/src/multiarray /scalarapi.o」が終了ステータス1で失敗しました

特定の pypyに適したnumpyバージョン がありますが、scipyについて私が見つけたのは古い 寄付の呼びかけ だけです。それ以来、何か変わったことはありますか?

15
Luke

はい、可能です Scipy 1.1. から始めます。ただし、十分に新しいPyPy(> = 6.0.0)とNumpyが必要です。numpy> = 1.14.3、リリース時にはnumpy> = 1.15.0が望ましいです。インストールは通常の方法で行うことができます

pypy3 -mpip install numpy
pypy3 -mpip install scipy

bLAS/LAPACKがインストールされていると仮定すると、最初に、ソースから通常のPythonにnumpy/scipyをインストールできることを確認する必要があります。

これがWindows上のPypyで機能するかどうかを試した人はおそらくいないので、あなたは自分でそこにいます。また、おそらくNumPyPyでは機能しません--- VanillaNumpyが必要です。

2018年5月以前の状況だったので、他の回答は「いいえ」と答えています。

13
pv.

いいえ。SciPyにはcpythonのCAPIと通信する断片があり、pypyはそれをサポートしていません。

**編集** 2018年5月の時点で、これは正しくなく、scipyはpypyと互換性があります。詳細については、@ pvによる回答を参照してください。

7
ev-br

いいえ、しかし奇跡的に、matplotlibjupyter Notebookスタンドアロンバージョン (wxウィジェットを介して)の両方でpypyで動作します。

したがって、それが不可能ではありません。

2

この記事の執筆時点では、numpyとscipyはpipを介してPyPyにインストールできますが、落とし穴があります。virtualenv内で実行する場合は(おそらくそうする必要があります)、「-always-copy」を使用してvirtualenvを作成することを忘れないでください。 "、そうでない場合、virtualenvは" include "ディレクトリのシンボリックリンクを作成し、ユーザーに対して読み取り専用にします。これにより、pybind11(scipyの依存関係)のインストールが中断されます。

1
user2348697

@ piv.sのすばらしい回答のリンクには、もう必要なものが含まれていないようです。 BLAS/LAPACKをインストールし、Ubuntuの最初の実行でNotFoundError: no lapack/blas resources foundなどのインストールエラーを回避するには:

Sudo apt-get install libatlas-base-dev

次に、(システムではなく)pypyに対応するpipを使用します。

pip install numpy
pip install scipy

またはpivによって言及されたもの。トリックを行います。

0
Farzad Vertigo