2013-09-11 27 views
10

Mam problem z instalacją numpy na serwerze Amazon EC2. Próbowałem przy użyciu easy_install, pip, pip wewnątrz wirtualnego env, pip wewnątrz innego wirtualnego env przy użyciu python 2.7 ...Instalacja numpy na Amazon EC2

Za każdym razem, gdy próbuję, nie powiedzie się z powodu błędu: gcc: internal compiler error: Killed (program cc1), a następnie dalej w dół linii otrzymuję pęczek błędów Pythona, z easy_install dostaję: ImportError: No module named numpy.distutils, a dzięki pip otrzymam: UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 72: ordinal not in range(128).

W instancji EC2 działa jądro 3.4.43-43.43.amzn1.x86_64. Czy ktoś rozwiązał ten problem? Numpy zawsze był dla mnie trudny do zainstalowania, ale zazwyczaj mogę to rozgryźć ... w tym momencie nie obchodzi mnie, czy jest on w swoim virtualenv, po prostu chcę go zainstalować.

+1

Większość pakietów dystrybucji linuksowej numpy. Korzystałbym z ich paczki. –

Odpowiedz

7

Skończyłem właśnie instalując numpy przez mniam, sudo yum install numpy. Sądzę, że to jest najlepsze, co mogę teraz zrobić. Podczas pracy z virtualenv i potrzebuję numpy, powiem, żeby używał pakietów stron.

Dzięki za sugestię @Robert.

20

Wymagania dotyczące instalacji NumPy

  • kompilator C (gcc)
  • Fortran kompilator (gfortran)
  • pliki nagłówkowe Python (2.4.x - 3.2.x)
  • Szczególnie zalecane BLAS lub LAPACK

Napisałem skrypt do install virtualenv and scikit-learn wraz ze wszystkimi zależnościami. Możesz podejść do instalacji numpy, która jest całkiem prosta. Skopiowałem odpowiedni kod poniżej.

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 

tylko kopiuj/wklej, wciśnij enter (dostać kawę) i jesteś gotowy, aby przejść z virtualenv i numpy na EC2.

Jeśli chcesz sprawdzić, czy numpy uznało zoptymalizowane biblioteki algebry liniowej, uruchom:

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

jeśli widzisz coś podobnego do poniższego gotowe.

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 

Aby uzyskać bardziej szczegółowe wyjaśnienie, można przeczytać installing-scikit-learn-on-amazon-ec2. Napisałem post na blogu, aby zapamiętać kroki instalacji i mieć krótki poradnik. Staram się aktualizować post i skrypt instalacyjny.

0

Możesz spróbować użyć dystrybucji Python Anaconda od https://www.continuum.io, która używa wersji Conda Python i menedżera pakietów. Odkryłem, że ta dystrybucja jest dobrze skonfigurowana i wygodna do pracy z komputerami naukowymi.

Udało mi się pobrać i zainstalować instancję EC2 za pomocą linku pobierania wget i linux z ich strony pobierania. Na przykład, dla Pythona 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 tworzyć --name myEnvName biopython

$ source aktywuj myEnvName

$ python -c 'import numpy; print (numpy.version.version)”

1.10.4

+0

Lepiej zacząć od istniejącego obrazu: http://docs.continuum.io/anaconda/amazon-aws –

0

Tylko dla archiwum. Jeśli prowadzisz EC2 Ubuntu i masz już zainstalowany pip, można zrobić coś takiego:

dla python2:

pip install numpy --user 

dla Pythona 3:

pip install numpy --user 

kluczem jest słowo user.