2016년 3월 16일 수요일

파이썬의 라이브러리 NumPy + SciPy _____ 2

앞서의 포스팅에서는 크리스토프 골케(?)라는 분이 미리 만들어 둔 NumPy와 SciPy 패키지의 인스톨 파일(whl)을 받아서 설치했는데,
무슨 이유에선지 예제 소스를 실행하는데 문제가 생겼다.
(SciPy/Special 모듈을 import하는 과정에서 에러 발생.)

에러 메시지를 이용해서 Python / SciPy / Google로 검색을 해 봤지만, 내 경우에 해당하는 것과 일치하는 검색 결과를 찾을 수는 없었다.


이 문제를 해결하는 가장 빠른 방법은...

과학 기술용 Python 배포판을 받아서 완전히 새로 설치해 주는 것.

하지만 이렇게 할 경우,
기존의 방법에서 문제가 발생한 원인을 알 수는 없으며,
새로운 패키지를 추가로 설치해야 하는 경우에 같은 종류의 문제가 다시 발생할 수 있으며,
그러면 역시 같은 어려움에 직면하여 같은 실수를 반복하게 될거라는....


일단 이번 포스팅에서는, 크리스토프 골케(?)의 패키지 설치파일에 문제가 있을 수 있다는 가정을 하고,
설치해 둔 NumPy와 SciPy를 제거한 후, 오리지널 파일을 이용해서 직접 설치해 보도록 할 것이다.

먼저 pip list로 설치된 패키지를 살펴보면,


NumPy 1.10.4와 SciPy 0.17.0이 설치되어 있음을 알 수 있다.


이제 pip uninstall scipy로 scipy를 제거한다.


제거할 파일의 목록을 보여주고 계속하겠냐고 묻는다.


y를 누르면 제거된다.


마찬가지 방법으로 NumPy도 제거


다시 pip list로 확인해 보면 NumPy와 SciPy가 제거된 것을 알 수 있다.



이제는 오리지널 NumPy와 SciPy를 받아보자.



이 링크에 보이는 numpy와 scipy를 클릭하면 다음과 같은 페이지가 나온다.

NumPy의 경우에는 파일의 목록이 보이는데, 최종 릴리즈 버전인 1.10.4의 zip 파일을 받았다.


SciPy의 경우에는 NumPy와는 다르게 엄청나게 긴 내용의 Release Note가 나온다.

이 Release Note의 마지막 부분에 가면 다운로드 받을 수 있는 파일들이 나오는데, 그 가운데 zip 파일을 받았다.



이제 다운로드 받은 NumPy와 SciPy의 압축을 풀고 안에 있는 INSTALL.txt를 읽어보고 따라 하면 된다.

NumPy와 SciPy의 INSTALL.txt를 읽어보면 공통적으로 초보자는 그냥 배포판을 받아서 사용할 것을 권장하고 있으며, C/C++ 컴파일러를 필요로 하고 있다.
SciPy의 경우에는 조금 더 복잡해서 필요로 하는 다른 패키지들이 꽤 되는 듯이 보였다.
Blas/Lapack이라는 것은 필수적이고 Sphinx와 Cython이라는 것도 경우에 따라서 필요하다고 한다.

Windows 환경에서 가장 딜레마가 되는 건 컴파일러인데, 여기에선 mingw나 MS Visual Studio를 사용해야 하는 것으로 보인다.

mingw가 gcc를 포팅한 것이지만, 어딘지 미심쩍어 보이기도 하는게 사실이다.
cygwin이나 DJGPP도 역시나 비슷비슷한 수준이 아닌가 싶기도 하고...

MS Compiler는 언제나 범용성에서는 2% 부족하게 느껴지기에.....


이 와중에 아까 사용한 pip의 패키지 제거 과정이 떠올랐다.

pip는 패키지를 다운로드, 설치, 업그레이드, 제거가 모두 가능하므로....

혹시나 하고 pip를 이용해서 직접 해 보았다.

pip install numpy
그냥 설치 완료....헐

그런데 다운로드 받은 파일의 이름을 보니 아까 크리스토프 골케(?)가 만든 파일과 이름이 조금 다르다.
크리스토프의 파일인 cp27-cp27m-win32....cp27m은 무슨 의미였던 걸까?

이어서 scipy도 시도.
pip install scipy

pip install scipy
NumPy와는 다르게 SciPy는 설치과정에서 에러를 뿌려댔다.

다운로드 받은 파일의 이름도 약간 미심쩍은게 cp27이나 win32와 같은 구분 요소가 없었다.
아마도 SciPy의 경우에는 시스템마다 개별적인 요소가 많아서 아예 소스로 다운 받아서 빌드해 나가는 것이 아닌가 싶다.

에러의 첫번째 부분에는 위에서 언급한 Blas/Lapack이 보인다.

    lapack_opt_info:
    openblas_lapack_info:
      NOT AVAILABLE

    lapack_mkl_info:
    mkl_info:
      NOT AVAILABLE
      NOT AVAILABLE

    atlas_3_10_threads_info:
      NOT AVAILABLE

    atlas_3_10_info:
      NOT AVAILABLE

    atlas_threads_info:
      NOT AVAILABLE

    atlas_info:
      NOT AVAILABLE

이 외에도 많은 라이브러리를 찾고 있는데, 이 모든 것이 필요한건지, 몇가지만 필요한건지도 모르겠다.

Blas/Lapack의 경우에는 Cygwin을 사용해야 하는 듯이 언급하고 있기도 하고....

제대로 한번 해결해 보겠다고 덤볐지만, 점점 산으로 가는 중인 듯...


일반적인 파이썬의 패키지는 pip install 로 설치하는 방법만 알면 될 듯 하고, 이 이상을 시도하는 것은 득보다 실이 많을 것 같아 포기. ㅠ.ㅠ

아마도 다음 포스팅은 과학 기술용 파이썬 배포판을 시도하는 것이 될 듯 하다.

댓글 없음: