Запуск Scipy на Heroku

Я запустил Numpy и Matplotlib на Heroku, а также пытаюсь установить Scipy. Однако Scipy требует установки BLAS[1], который не представлен на платформе Heroku. После обращения в службу поддержки Heroku мне предложили собрать BLAS как статическую библиотеку для развертывания и настроить необходимые переменные среды.

Итак, я скомпилировал libblas.a на 64-битной Linux-системе и установил следующие переменные, как описано в [2] :

$ heroku config
BLAS             => .heroku/vendor/lib/libfblas.a
LD_LIBRARY_PATH  => .heroku/vendor/lib
LIBRARY_PATH     => .heroku/vendor/lib
PATH             => bin:/usr/local/bin:/usr/bin:/bin
PYTHONUNBUFFERED => true

После добавления scipy==0.10.1 в файл requirements.txt отправка по-прежнему не удалась.

     File "scipy/integrate/setup.py", line 10, in configuration

       blas_opt = get_info('blas_opt',notfound_action=2)

     File "/tmp/build_h5l5y31i49e8/lib/python2.7/site-packages/numpy/distutils/system_info.py", line 311, in get_info

       return cl().get_info(notfound_action)

     File "/tmp/build_h5l5y31i49e8/lib/python2.7/site-packages/numpy/distutils/system_info.py", line 462, in get_info

       raise self.notfounderror(self.notfounderror.__doc__)

   numpy.distutils.system_info.BlasNotFoundError:

       Blas (http://www.netlib.org/blas/) libraries not found.

       Directories to search for the libraries can be specified in the

       numpy/distutils/site.cfg file (section [blas]) or by setting

       the BLAS environment variable.

Кажется, что pip не знает о переменной окружения BLAS, поэтому я проверяю окружение с помощью heroku run python:

(venv)bash-3.2$ heroku run python
Running python attached to terminal... import up, run.1
Python 2.7.2 (default, Oct 31 2011, 16:22:04) 
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.system('bash')
~ $ echo $BLAS
.heroku/vendor/lib/libfblas.a
~ $ ls .heroku/vendor/lib/libfblas.a
.heroku/vendor/lib/libfblas.a
~ $ 

И вроде нормально. Теперь я понятия не имею, как это решить.

[1] http://www.netlib.org/blas/ [2] http://www.scipy.org/Installing_SciPy/Linux

27
задан Joseph Chang 22 March 2012 в 10:00
поделиться