2014-04-27 18 views
6

Tôi đang xây dựng gọn gàng từ nguồn trên CentOS 6.5 mà không có quyền truy cập root (python -V = 2.7.6). Tôi có nguồn gumpy mới nhất từ ​​git. Tôi không thể cho cuộc sống của tôi nhận được numpy để thừa nhận libs atlas. Tôi có:Cách chính xác để trỏ tới các thư viện ATLAS/BLAS/LAPACK để xây dựng gọn gàng?

ls -1 /usr/lib64/atlas 

libatlas.so.3 
libatlas.so.3.0 
libcblas.so.3 
libcblas.so.3.0 
libclapack.so.3 
libclapack.so.3.0 
libf77blas.so.3 
libf77blas.so.3.0 
liblapack.so.3 
liblapack.so.3.0 
libptcblas.so.3 
libptcblas.so.3.0 
libptf77blas.so.3 
libptf77blas.so.3.0 

Tôi không biết bất cứ điều gì về cách những libs đã về, nhưng tôi chỉ có thể giả định rằng atlas xây dựng sẽ nhanh hơn bất kỳ BLAS/LAPACK tiêu chuẩn xây dựng tôi có thể thực hiện.

Cách chính xác để trỏ đến các thư viện này một cách chính xác là gì? Tôi có export ATLAS, BLAS, LAPACK=... thiết lập từng đường dẫn tương ứng không? hay để tôi sửa một tập tin site.cfg để chứa một cái gì đó như:

[default] 
library_dirs = /usr/lib64/atlas 

[atlas] 
library_dirs = /usr/lib64/atlas 
atlas_libs = lapack, cblas, f77blas, atlas 

tôi đã cố gắng chỉ là về mọi biến thể của các bên trên, và mỗi lần tôi chạy python setup.py config nó nói với tôi mỗi thư viện không thể được tìm thấy trong những con đường tôi chỉ định cũng như một loạt các đường dẫn tìm kiếm mặc định khác. Tôi đã dán kết quả chạy python setup.py config với số site.cfg như trên và không có biến môi trường nào được đặt ở đây: http://pastebin.com/EL9CfaR7. Bất kỳ trợ giúp được đánh giá cao.

Trả lời

7

Ok điều này khá đơn giản và về cơ bản tuân theo nguyên tắc cài đặt chính xác. Tôi cho rằng đây là một câu hỏi về số lượng sau khi chia sẻ libs hơn về numpy hoặc atlas. Dù sao, tôi chỉ phải tạo ra một số liên kết tượng trưng:

ln -s /usr/lib64/atlas/___.so.3.0 $HOME/local/lib/___.so 

Sau đó, loại bỏ tất cả configs trong site.cfg và cập nhật của tôi .bashrc:

export ATLAS=$HOME/local/lib/libatlas.so 
export BLAS=$HOME/local/lib/libptf77blas.so 
export LAPACK=$HOME/local/lib/liblapack.so 

Sau khi chạy python setup.py install, tôi tốt:

>>> import numpy.distutils.system_info as si 
>>> si.get_info('atlas') 
    ATLAS version 3.8.4 built by mockbuild on Wed Mar 21 01:43:44 GMT 2012: 
    UNAME : Linux c6b6.bsys.dev.centos.org 2.6.32-44.2.el6.x86_64 #1 SMP Wed Jul 21 12:48:32 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux 
    INSTFLG : -1 0 -a 1 
    ARCHDEFS : -DATL_OS_Linux -DATL_ARCH_PII -DATL_CPUMHZ=2261 -DATL_SSE2 -DATL_SSE1 -DATL_USE64BITS -DATL_GAS_x8664 
    F2CDEFS : -DAdd_ -DF77_INTEGER=int -DStringSunStyle 
    CACHEEDGE: 163840 
    F77  : gfortran, version GNU Fortran (GCC) 4.4.6 20110731 (Red Hat 4.4.6-3) 
    F77FLAGS : -fomit-frame-pointer -mfpmath=387 -O2 -falign-loops=4 -g -Wa,--noexecstack -fPIC -m64 
    SMC  : gcc, version gcc (GCC) 4.4.6 20110731 (Red Hat 4.4.6-3) 
    SMCFLAGS : -fomit-frame-pointer -mfpmath=387 -O2 -falign-loops=4 -g -Wa,--noexecstack -fPIC -m64 
    SKC  : gcc, version gcc (GCC) 4.4.6 20110731 (Red Hat 4.4.6-3) 
    SKCFLAGS : -fomit-frame-pointer -mfpmath=387 -O2 -falign-loops=4 -g -Wa,--noexecstack -fPIC -m64 
{'libraries': ['lapack', 'f77blas', 'cblas', 'atlas'], 'library_dirs': ['~/local/lib'], 'define_macros': [('ATLAS_INFO', '"\\"3.8.4\\""')], 'language': 'f77'} 
+0

Điều này có vẻ phức tạp khủng khiếp. Bạn đã thử một virtualenv thay thế chưa? Bạn có thể có ngăn xếp Python đầy đủ trong thư mục chính của bạn, vì vậy không cần truy cập root cho bất cứ thứ gì. Và sau đó bạn có thể sử dụng pip cho mọi thứ. – Davidmh

+0

Tôi không quen thuộc với virtualenv, nhưng từ liếc nhìn nó, tôi không chắc chắn nếu nó sẽ hữu ích. Tôi đã có (cũng HAD - Tôi đang chạy vào một số vấn đề khác) python/numpy/scipy cài đặt tại địa phương. Tôi không cố gắng để cài đặt nhiều phiên bản numpy - chỉ cần nói cho một phiên bản sử dụng một thư viện atlas cụ thể đó là (tôi giả định) tối ưu hóa cho kiến ​​trúc tôi đang chạy trên. –

+0

(vâng, tôi biết đây là cũ) Bạn cần gói -devel. vì bạn không có root, bạn không thể cài đặt nó, nhưng bạn nên yêu cầu quản trị viên của bạn làm như vậy. Gói -devel có tiêu đề và liên kết tượng trưng .so –

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