2013-09-11 40 views
10

Tôi gặp sự cố khi cài đặt gọn gàng trên máy chủ Amazon EC2. Tôi đã thử sử dụng easy_install, pip, pip bên trong một env ảo, pip bên trong một env ảo bằng cách sử dụng python 2.7 ...Cài đặt numpy trên Amazon EC2

Mỗi khi tôi thử, nó không thành công với lỗi: gcc: internal compiler error: Killed (program cc1), và sau đó tiếp tục xuống dòng tôi nhận được một loạt các lỗi python, với easy_install tôi nhận được: ImportError: No module named numpy.distutils, và với pip tôi nhận được: UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 72: ordinal not in range(128).

Ví dụ EC2 đang chạy hạt nhân 3.4.43-43.43.amzn1.x86_64. Có ai giải quyết vấn đề này không? Numpy đã luôn luôn là khó khăn cho tôi để cài đặt, nhưng tôi thường có thể tìm ra nó ... vào thời điểm này tôi không quan tâm cho dù đó là trong virtualenv riêng của nó, tôi chỉ muốn có được nó được cài đặt.

+1

Hầu hết các gói bản phân phối Linux đều có nhiều vón cục. Tôi sẽ sử dụng gói của họ. –

Trả lời

7

Tôi đã kết thúc chỉ cài đặt gọn gàng qua yum, sudo yum install numpy. Tôi đoán đây là điều tốt nhất tôi có thể làm ngay bây giờ. Khi làm việc với virtualenv và tôi cần gọn gàng, tôi sẽ bảo nó sử dụng các gói site.

Cảm ơn đề xuất @Robert.

20

Yêu cầu đối với cài đặt NumPy

  • c trình biên dịch (gcc)
  • fortran trình biên dịch (gfortran)
  • tập tin tiêu đề trăn (2.4.x - 3.2.x)
  • BLAS Khuyến khích mạnh mẽ hoặc LAPACK

Tôi đã viết một tập lệnh là install virtualenv and scikit-learn cùng với tất cả các phụ thuộc. Bạn có thể theo dõi để cài đặt gọn gàng, đó là khá thẳng về phía trước. Tôi đã sao chép mã có liên quan bên dưới.

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 

Chỉ cần sao chép/dán, nhấn enter, (nhận một tách cà phê) và bạn đã sẵn sàng để đi với virtualenv và numpy trên EC2.

Nếu bạn muốn xác minh NumPy mà tìm thấy các thư viện đại số tuyến tính tối ưu, hãy chạy:

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

nếu bạn nhìn thấy một cái gì đó tương tự như sau bạn đã cài đặt xong.

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 

Để có giải thích chi tiết hơn, bạn có thể đọc installing-scikit-learn-on-amazon-ec2. Tôi đã viết bài đăng trên blog đặc biệt để ghi nhớ các bước cài đặt và có hướng dẫn cách thực hiện ngắn. Tôi cố gắng giữ cho bài đăng và tập lệnh cài đặt được cập nhật.

0

Bạn có thể thử sử dụng phân phối Python Anaconda từ https://www.continuum.io, sử dụng phiên bản Python và trình quản lý gói. Tôi đã tìm thấy bản phân phối này để được cấu hình tốt và thuận tiện cho công việc tính toán khoa học.

Tôi đã có thể tải xuống và cài đặt vào phiên bản EC2 bằng cách sử dụng wget và liên kết tải xuống Linux từ trang web Tải xuống của họ. Ví dụ, đối 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

...

$ nguồn .bashrc

$ conda tạo --name myEnvName biopython

$ source kích hoạt myEnvName

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

1.10.4

+0

Tốt hơn nhưng bắt đầu với hình ảnh hiện có: http://docs.continuum.io/anaconda/amazon-aws –

0

Chỉ để lưu trữ. Nếu bạn đang chạy một EC2 Ubuntu và bạn đã cài đặt pip, sau đó bạn có thể làm một cái gì đó như:

cho python2:

pip install numpy --user 

cho Python 3:

pip install numpy --user 

phím là từ user.

Các vấn đề liên quan