Root 권한 없이 Python 2.7.3, numpy 1.6.2, scipy 0.11.0, setuptools, pip 설치하기

By | 2012/10/24

  최근 사용하려는 클러스터에 Python 2.4가 설치되어 있더군요. 그리고 NumPySciPy가 설치되어 있지 않았습니다. Root 권한이 없었기에 컴퓨터 전체에 설치하는 것이 힘들어 제 개인 계정에 설치하기로 했습니다. 이에 대한 허락은 관리자로부터 얘기하여 받았습니다.

  먼저 제가 참조하였던 페이지들의 링크를 올리겠습니다. 이것들을 보면 아마 제가 했던 것을 제대로 하실 수 있으실 것입니다. 제가 설치를 하여 완료한 곳은 CentOS release 5.6 (Final)입니다.

  먼저 Python을 설치합니다.

  1. http://www.python.org/download/ 페이지에 가서 Python 2.7.3 source 파일을 받습니다. (받는 방법은 wget 명령어를 이용하세요.)
  2. 압축을 풉니다. (tar xvfz 옵션을 넣어주세요 with tgz 확장자)
  3. 압축을 푼 디렉토리로 이동합니다. (cd 명령어를 이용하세요.)
  4. make clean
  5. ./configure –prefix=~/.local
    여기서 ~/의 의미는 자기 자신의 home directory를 의미합니다. 제 경우에는 /home/nosyu/입니다. 이는 제 아이디가 nosyu이기 때문입니다.
  6. make
  7. make install
  8. 이제 python 실행을 쉽게 하기 위하여 PATH 환경변수에 해당 디렉토리를 추가합니다.
    vim ~/.bashrc
  9. export PATH=$HOME/.local/bin:$PATH
    위의 것을 삽입합니다. Text file 편집에는 vim 외에 편하신 에디터를 사용하시면 되겠습니다.

  이제 Numpy를 설치합니다.

  1. Numpy 설치에 필요한 LAPACK과 BLAS를 소스 파일을 다운로드 받습니다.
    LAPACK: http://www.netlib.org/lapack/
    BLAS: http://www.netlib.org/blas/
  2. 다운로드 받은 파일의 압축을 풉니다.
    저의 경우 압축을 풀어서 생긴 directory의 절대 주소는 다음과 같았습니다.
    LAPACK: /home/nosyu/download/lapack-3.4.2
    BLAS: /home/nosyu/download/BLAS
    이는 후에 꼭 필요하기에 자신에게 맞는 주소를 확인합니다.
    확인하는 방법은 해당하는 directory에 가서 pwd 명령어를 입력하면 확인할 수 있습니다.
  3. Numpy 소스 파일을 다운로드 받고 압축을 풉니다.
    http://sourceforge.net/projects/numpy/
  4. site.cfg 파일을 만듭니다.
    이 때 site.cfg.example 파일을 사용하면 되기에 cp 명령어로 복사하는 것이 좋습니다.
    cp site.cfg.example site.cfg
  5. site.cfg 파일을 수정합니다.
    vim site.cfg
  6. 다음의 것을 입력합니다. 혹은 #으로 표시되어 주석 처리 되어 있는 것을 #을 없애는 방법으로 편하게 할 수 있습니다. 이것에 대해 잘 이해가 안 되면 그냥 밑에 것을 그대로 복사해서 붙여 넣으세요.
    [DEFAULT]
    src_dirs = /home/nosyu/download/BLAS/:/home/nosyu/download/lapack-3.4.2/
    [blas_opt]
    libraries = f77blas, cblas
    [lapack_opt]
    libraries = lapack, f77blas, cblas
    1. 이 때 src_dirs 뒤에는 2번에서 확인한 LAPACK과 BLAS의 directory의 절대 주소를 넣어야 합니다. BLAS의 것 다음에 :을 넣고 LAPACK의 것을 넣습니다.
  7. Python setup.py build –fcompiler=gnu95
  8. python setup.py install –prefix=~/.local
    Iinstall을 할 때 설치한 Python의 위치를 알려줍니다.
  9. 이후 설치가 완료되었다면 다른 directory로 이동한 후 python을 실행시켜 test해봅니다.
    import numpy
    numpy.test(‘full’)

  마지막으로 Scipy를 설치합니다.

  1. Scipy 소스코드를 다운로드 받아서 압축을 풉니다.
    http://sourceforge.net/projects/scipy/files/
  2. Numpy를 설치할 때 사용하였던 site.cfg 파일을 Scipy directory에 복사합니다.
  3. Python setup.py build –fcompiler=gnu95
  4. python setup.py install –prefix=~/.local
  5. 이후 설치가 완료되었다면 다른 directory로 이동한 후 python을 실행시켜 test해봅니다.
    import scipy
    scipy.test(‘full’)
    1. 제 경우에는 몇 가지 에러가 발생하더군요. 하지만 제가 짠 소스 코드에는 해당 모듈을 사용하지 않기에 신경쓰지 않았습니다.

  참고로 test를 할 때 nose가 없다는 메시지가 뜰 것입니다. 이를 해결하기 위해서는 nose 모듈을 설치하면 됩니다. 방법은 여러 가지가 있지만, easy_install 설치와 함께 얘기하겠습니다.

  Setuptools(easy_install) 설치

  1. setuptools 파일을 다운로드 받는다.
    http://pypi.python.org/pypi/setuptools
    1. 이 때 소스 파일이 아니라 egg 파일을 다운로드 받습니다. 저는 Python 2.7이기에 setuptools-0.6c11-py2.7.egg을 다운로드 받았습니다.
  2. sh setuptools-0.6c11-py2.7.egg –prefix=~/.local/
  3. 설치가 완료되었습니다. 참고로 저는 prefix 옵션을 넣지 않았습니다. 그래도 혹시 모르니 넣으시길 바랍니다.

  Python Package Index(pip) 설치

  1. pip 소스코드를 다운로드 받아서 압축을 푼다.
    http://pypi.python.org/pypi/pip
  2. 압축을 푼 directory에서 다음을 실행한다.
    python setup.py install –prefix=~/.local
  3. 설치 완료

  pip 사용하여 nose 패키지 설치하기

  1. pip install –user nose

  –user 옵션을 넣으면 거기에 맞춰서 자동으로 처리됩니다. 참고로 numpy나 scipy도 이렇게 pip를 설치한 후 설치를 시도하니 되기는 됩니다. 하지만 무언가 이상한 것 같아 위의 방법을 사용하였습니다.

  이 문서는 제가 훗날 필요할 것이라 가정하여 작성하였습니다.

One thought on “Root 권한 없이 Python 2.7.3, numpy 1.6.2, scipy 0.11.0, setuptools, pip 설치하기

Leave a Reply