Scipy에서 Atlas 사용


13

Ubuntu 12.04 64 비트를 설치했습니다. 파이썬과 scipy로 작업해야하며, 설치하고 테스트를 실행할 때 :

python -c "import scipy; scipy.test()"

메시지가 나타납니다.

ImportError : libatlas.so.3gf : 공유 객체 파일을 열 수 없습니다 : 해당 파일 또는 디렉토리가 없습니다

그러나 libatlas 라이브러리가 디렉토리 아래에 설치되어 /usr/lib/atlas-base있습니다. 파일을 직접 복사 할 수는 /usr/lib있지만 라이브러리를 사용하도록 scipy를 어떻게 설정할 수 있는지 궁금합니다 usr/lib/atlas-base.


교차 게시하지 마십시오.
Karlson

좋아, 지금 제거했다.
lmsasu

답변:


19

아무 곳이나 복사 할 필요가 없습니다.

ld검색 할 위치 목록에 아틀라스 라이브러리를 추가해야합니다 .

디렉토리 /etc/ld.so.conf.d에 파일을 추가 할 수 있습니다 atlas-lib.conf. 이 파일의 디렉토리를 포함해야합니다 libatlas.so.3gf입니다 /usr/lib/atlas-base.

당신은 이것을 실행 하여이 작업을 수행 할 수 있습니다

echo "/usr/lib/atlas-base" | sudo tee /etc/ld.so.conf.d/atlas-lib.conf

마지막으로 실행

sudo ldconfig

ld이 새 파일에 대해 알 수 있도록 업데이트 합니다.

또는 LD_LIBRARY_PATH실행할 때 라이브러리 경로를 포함하도록 설정할 수 있으며 SciPy 내에서 사용 가능해야합니다.


atlas-lib.conf가 도움이되었는지 확실하지 않지만 LD_LIBRARY_PATH가 트릭을 만들었습니다.
lmsasu

1
@lmsasu 파일을 만들 때 파일을 sudo ldconfig활성화 하려면 실행해야합니다.
Karlson

루트 액세스 권한이없는 경우 가장 좋은 방법은 무엇입니까? 와 함께 virtualenv할 경우 어떻게해야합니까?
Albert

1
@Albert Using virtualenv는 완전히 별개의 주제이지만 루트 액세스 권한이 없으면 LD_LIBRARY_PATH답변에 언급 된 적절한 방식으로 설정할 수 있습니다 .
Karlson

이런 종류의 작업은 numpy / scipy 또는 libatlas-dev 패키지로 처리해야합니다. 시스템 numpy 1.9.1이 잘 작동하는 흥미로운 상황이 있지만 virtualenv의 numpy 1.9.2 가이 문제를 나타냅니다. 어쨌든, 당신의 솔루션은 그것을 고쳤습니다. 고마워.
drevicko

1

export LD_LIBRARY_PATH=/usr/lib/atlas-base/:${LD_LIBRARY_PATH}필자는 .bashrc파일 끝에서 virtualenv를 사용하여 수정했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.