У меня есть Numpy и Matplotlib, работающие на Heroku, и я также пытаюсь установить Scipy. Однако Scipy требует BLAS [1] для установки, который не представлен на платформе Heroku. После обращения к поддержке Heroku они предложили мне создать BLAS как статическую библиотеку для развертывания и настроить необходимые переменные среды.Запуск Scipy на Heroku
Итак, я составил 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.
Казалось, что пип не знает о переменной окружения BLAS, поэтому проверьте среду с помощью Heroku запустить 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
извините забыл сказать, если вы хотите использовать buildpack, как это сделать: $ heroku create appname --stack = cedar [email protected]: wyn/heroku-buildpack-python.git – coshx
Отличная работа! Я парень на Питоне в Хероку. :) –
Спасибо, мне нравится играть с кедровым стеклом и создавать пакеты. Я сейчас смотрю на строитель вулкана, я думаю, было бы хорошо, чтобы эти вещи были построены с этим ... – coshx