Установка numpy на Amazon EC2

У меня возникли проблемы с установкой numpy на сервере Amazon EC2. Я попытался использовать easy_install, pip, pip внутри виртуального env, pip внутри другого виртуального env с помощью python 2.7...

Каждый раз, когда я пытаюсь, он терпит неудачу с ошибкой: gcc: internal compiler error: Killed (program cc1), а затем дальше по строке я получаю кучу ошибок python, с easy_install я получаю: ImportError: No module named numpy.distutils, а с pip я получаю: UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 72: ordinal not in range(128),

Экземпляр EC2 запускает ядро ​​3.4.43-43.43.amzn1.x86_64. Кто-нибудь решил эту проблему? Мне всегда трудно было установить Numpy, но я обычно могу это понять... в этот момент мне все равно, есть ли в нем собственный virtualenv, я просто хочу установить его.

Ответ 1

В итоге я просто установил numpy через yum, sudo yum install numpy. Думаю, это лучшее, что я могу сделать сейчас. При работе с virtualenv и мне нужно numpy, я расскажу, как использовать пакеты сайта.

Спасибо за предложение @Robert.

Ответ 2

Требования для установки Numpy

  • c компилятор (gcc)
  • fortran компилятор (gfortran)
  • заголовочные файлы python (2.4.x - 3.2.x)
  • Настоятельно рекомендуется BLAS или LAPACK

Я написал script для установку virtualenv и scikit-learn вместе со всеми зависимостями. Вы можете следить за установкой numpy, что довольно прямолинейно. Я скопировал соответствующий код ниже.

sudo yum -y install gcc-c++ python27-devel atlas-sse3-devel lapack-devel
wget https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.11.2.tar.gz
tar xzf virtualenv-1.11.2.tar.gz 
python27 virtualenv-1.11.2/virtualenv.py sk-learn
. sk-learn/bin/activate
pip install numpy

Просто скопируйте/вставьте, нажмите enter (получите чашку кофе), и вы готовы пойти с virtualenv и numpy на EC2.

Если вы хотите проверить, что numpy нашел оптимизированные библиотеки линейной алгебры, запустите:

(sk-learn)[[email protected] ~]$ python -c "import numpy; numpy.show_config()"

Если вы видите что-то похожее на следующее, вы все настроены.

atlas_threads_info:
    libraries = ['lapack', 'ptf77blas', 'ptcblas', 'atlas']
    library_dirs = ['/usr/lib64/atlas-sse3']
    define_macros = [('ATLAS_INFO', '"\\"3.8.4\\""')]
    language = f77
    include_dirs = ['/usr/include']
blas_opt_info:
    libraries = ['ptf77blas', 'ptcblas', 'atlas']
    library_dirs = ['/usr/lib64/atlas-sse3']
    define_macros = [('ATLAS_INFO', '"\\"3.8.4\\""')]
    language = c
    include_dirs = ['/usr/include']
atlas_blas_threads_info:
    libraries = ['ptf77blas', 'ptcblas', 'atlas']
    library_dirs = ['/usr/lib64/atlas-sse3']
    define_macros = [('ATLAS_INFO', '"\\"3.8.4\\""')]
    language = c
    include_dirs = ['/usr/include']
lapack_opt_info:
    libraries = ['lapack', 'ptf77blas', 'ptcblas', 'atlas']
    library_dirs = ['/usr/lib64/atlas-sse3']
    define_macros = [('ATLAS_INFO', '"\\"3.8.4\\""')]
    language = f77
    include_dirs = ['/usr/include']
lapack_mkl_info:
  NOT AVAILABLE
blas_mkl_info:
  NOT AVAILABLE
mkl_info:
  NOT AVAILABLE

Для более подробного объяснения вы можете прочитать installing-scikit-learn-on-amazon-ec2. Я написал сообщение в блоге специально, чтобы помнить о шагах установки и кратко описать руководство. Я стараюсь, чтобы сообщение и установка script обновлялись.

Ответ 3

Вы можете попробовать использовать дистрибутив Anaconda Python из https://www.continuum.io, в котором используется версия conda Python и диспетчер пакетов. Я нашел этот дистрибутив хорошо настроенным и удобным для научной работы.

Мне удалось загрузить и установить в экземпляр EC2 с помощью wget и ссылки для загрузки linux со своей веб-страницы загрузки. Например, для Python 2:

$wget https://3230d63b5fc54e62148e-c95ac804525aac4b6dba79b00b39d1d3.ssl.cf1.rackcdn.com/Anaconda2-2.5.0-Linux-x86_64.sh

...

$chmod a + x Anaconda2-2.5.0-Linux-x86_64.sh

$./Anaconda2-2.5.0-Linux-x86_64.sh

...

$source.bashrc

$conda create --name myEnvName biopython

$source активировать myEnvName

$python -c 'import numpy; печать (numpy.version.version)

1.10.4

Ответ 4

Только для архива. Если вы используете Ubuntu EC2, и вы уже установили pip, вы можете сделать что-то вроде:

для Python2:

pip install numpy --user

для Python 3:

pip install numpy --user

ключ - это слово user.