Назад | Перейти на главную страницу

Почему ATLAS не обнаруживается на RHEL, когда я пытаюсь установить SciPy через pip?

Я использую RHEL6, Python 2.6.6 и пытаюсь установить SciPy через pip.

[user@server ~]$ sudo pip install scipy
<snip>
atlas_blas_threads_info:
Setting PTATLAS=ATLAS
  libraries ptf77blas,ptcblas,atlas not found in ['/usr/local/lib64', '/usr/local/lib', '/usr/lib64/atlas']
  NOT AVAILABLE
<snip>

Тем не менее, когда я перечисляю файлы в / usr / lib64 / atlas:

[user@server ~]$ ls /usr/lib64/atlas
libcblas.so.3    libclapack.so.3.0  liblapack.so.3     libptcblas.so.3.0
libatlas.so.3    libcblas.so.3.0    libf77blas.so.3    liblapack.so.3.0  libptf77blas.so.3
libatlas.so.3.0  libclapack.so.3    libf77blas.so.3.0  libptcblas.so.3   libptf77blas.so.3.0

Любые идеи?

Нумпи и Сципи - странные звери. Большое раздражение - это Несоответствие Fortran ABI, среди прочего. Из страница установки:

Если ваш blas / lapack / atlas построен с использованием g77, вы должны использовать g77 при создании numpy и scipy;

Если ваш атлас построен с помощью gfortran, вы должны построить numpy / scipy с помощью gfortran.

Бегать ldd на имеющейся у вас версии Атласа.

Если libg2c.so является зависимостью, использовался g77, и вам нужно будет передать эти параметры при сборке:

python setup.py build --fcompiler=gnu

В качестве альтернативы, если libgfortran.so является зависимостью, он был построен с помощью gfortran, и вам нужно будет установить правильный компилятор fortran:

python setup.py build --fcompiler=gnu95

В качестве примечания: если процессоры, на которых работает ваша машина, включают поддержку SIMD, я настоятельно рекомендую установить оптимизированные версии атласа (например, atlas3-sse).