Можно ли установить scipy под pypy?

Я создал virtualenv с pypy и попытался установить 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_SOURCE = 1 -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

Существует определенная версия numpy, подходящая для pypy, но единственное, что я нашел в scipy, - это старый призыв к пожертвованиям. С того времени что-то изменилось?

Ответы

Ответ 1

Да, это возможно, начиная с Scipy 1.1.0. Однако требуются достаточно новые PyPy (> = 6.0.0) и Numpy, numpy> = 1.14.3 и предпочтительно numpy> = 1.15.0 при его выпуске. Установка может быть выполнена с помощью обычного

pypy3 -mpip install numpy
pypy3 -mpip install scipy

если у вас установлен BLAS/LAPACK, сначала убедитесь, что вы можете установить numpy/scipy на обычный Python из источников.

Никто, вероятно, не пытался, работает ли это с Pypy в Windows, поэтому вы сами по себе. Он также, вероятно, не будет работать с NumPyPy --- вам понадобится Vanilla Numpy.

Другие ответы говорят "Нет", так как это было до мая 2018 года.

Ответ 2

Нет. SciPy имеет биты и куски, говорящие на cpython C API, и pypy не поддерживает это.

** EDIT ** по состоянию на май 2018 года, это неверно, а scipy является pypy-совместимым. Подробнее см. Ответ @pv.