파이썬(Python) 시작하기

Category   Python
Author  현c   2015. 11. 1. 15:26

Python 시작하기


파이썬 개발환경 구축


파이썬(Python)을 공부하기 시작하면서 책과 온라인에 무수히 제공되고 있는 정보들을 통해 언어에 대한 학습을 하고, 직접 코드를 작성하고 실행하기 위해 개발환경 구축이 필요해졌다. 사실 파이썬을 설치하는 것 자체는 굉장히 쉽지만 그 이후 패키지 관리를 위한 도구들에 대한 개념 등 나름 정리해야 할만한 것들이 눈에 보여서 그 내용들을 정리하고자 한다.




1. 파이썬(Python) 은 무엇인가?


파이썬은 1991년 `귀도 반 로섬(Guido van Rossum) 에 의해 개발되어 발표된 고급 프로그래밍 언어로, 플랫폼에 독립적이며 인터프리터식, 객체지향적, 동적 타이핑 대화형 언어의 특색을 가지고 있는 프로그래밍 언어이다.




2. 파이썬 설치


파이썬의 설치는 굉장히 쉽다. 공식 홈페이지를 통해서 각 플랫폼에 해당하는 파일을 다운로드해서 설치하면 되는데, 기본적으로 설치해줘야 하는 추가적인 요소들이 있다.


파이썬으로 프로그래밍을 하기 위해서 필요한 기본적인 패키지들이 그것인데 공식 홈페이지를 통해 파이썬을 설치한 경우 사용자가 직접 필요한 패키지들을 선별하여 설치해줘야 한다.


 이런 반복적인 작업들을 불편히 여겨 이를 해결하기 위해 `파이썬 배포판` 이라는 것들이 존재하는데 대표적으로 `아나콘다`가 그것이다. 


 가장 많이 그리고 자주 사용하는 파이썬 패키지들을 포함하여 함께 설치해 주는 것인데 그런 이유에서 배포판의 용량은 작게는 수백메가에서 기가바이트까지도 간다고 하니 프로젝트의 규모나 단위에 따라서 꼼꼼히 따져보고 선택하는 것이 좋겠다.


작성자는 공식홈페이지를 통해 다운로드하여 설치하는 방법을 택했다.



2.1 파이썬 버전 선택

파이썬은 현재 2.7.x 버전과 3.x.x 버전으로 진영이 분리되어 있다. 전혀 사용하지 못할만큼 달라진건 아닌 것 같아 보이지만, 분명 온전히 호환하는 상태는 아니다. 일부 프레임워크(Flask 등) 들은 파이썬이 3.x.x 버전대 안정성을 완전히 확보하기 전까지는 지원하지 않는다고도 안내하고 있다.


그래서 작성자는 2.7.x 버전을 선택하기로 했다. 문제 될 건 없다. 어떤 버전을 써도 상관없다고 말하는 사람도 있고, 기왕지사 최신버전을 사용하라고 말하는 사람도 있지만 각자의 환경과 상황에 맞게 적절히 선택하면 될 것 같다.


(일부 사용하는 문법이나 패키지등이 약간씩 다르게 구성되어 있는데, 2.7.x 버전대를 사용하면 3.x.x 버전대를 사용하지 못한다던가 하지는 않으니 너무 크게 고민할 필요는 없다. 또 상위 버전으로 마이그레이션 시켜주는 도구들도 존재하기는 한다.)



2.2 운영체제 선택

파이썬은 기본적으로 플랫폼에 독립적으로 구동되므로 현재 알려진 자주사용되는 운영체제 중 어떤 운영체제를 선택해도 무관하다.


한 가지 알아두어야 할 것은, 리눅스 기반의 운영체제의 경우 기본적으로 파이썬이 설치되어 있으므로 설치된 버전외에 다른 버전을 사용하고 싶다면 고려하여 버전을 업그레이드 하던가 변경해야 한다. 


해당 방법은 아래 리눅스에 파이썬을 설치하는 방법에서 다룬다.



2.2.1 Windows 에 파이썬 설치

가장 쉽다. 파이썬 공식 홈페이지(https://www.python.org/) 에서 윈도우에 즉시 설치 가능한 설치형(msi) 프로그램을 제공하고 있으니 받아서 설치하면 된다.


Download the latest version for Windows 에 접속해보면 글 작성시간 기준 `Python 3.5.0` 버전과 `Pythyon 2.7.10` 버전의 다운로드 링크가 상단에 위치해 있으니 다운로드 받아서 설치하면 된다.


이후 msi 설치형 패키지 설치 방법에 대해선 다루지 않도록 한다.



2.2.2 Linux 에 파이썬 설치

앞서 말한것처럼 리눅스에는 기본적으로 파이썬이 설치되어 있으므로, 설치된 버전을 먼저 확인하고 진행해야 한다.


  1. python -V 
    파이썬 버전 확인
  2. wget --no-check-certificate -N http://www.python.org/ftp/python/{version}/Python-{version}.tgz
    https://www.python.org/ftp/python/ 에서 원하는 버전 확인
    설치하고자 하는 버전 다운로드(wget 사용)
  3. tar xzf Python-{version}.tgz
    압축해제
  4. ./configure
    압축해제한 경로에서 환경구성을 위한 스크립트 호출
  5. make && make altinstall
    이전 버전의 파이썬에 영향을 주지 않기 위해 `altinstall` 명령을 이용한다. 
  6. mv /usr/bin/python /usr/bin/python_old
    기존 설치된 정보에 `_old` 를 붙여서 변경했다.
  7. cp /{new python path}/python2.x.x /usr/bin/python
    새로 설치한 파이썬 정보를 복사한다.

요약하면 새로운 버전의 파이썬을 설치하고 기존 파이썬 실행 스크립트를 대체하는 것이다. 위 내용은 참고만 하고, 각 리눅스 환경에 따라 유연하게 적용해야 될거라고 생각한다.




2.3 파이썬 환경변수 설정

파이썬을 사용하기 위해선 환경변수를 설정해줘야 한다.


환경변수로 설정해야하는 항목은 아래와 같다.


2.7.x 기준 :

  • \Python2.7
  • \Python2.7\Scripts
  • \Python2.7\Tools\Scripts
  • \Python2.7\Lib
각 운영체제에 알맞게 환경변수를 설정해줘야 한다.
이로써 파이썬의 설치는 끝났다.




3. 패키지


파이썬을 사용하는 수많은 사용자들이 자신이 만든 패키지들을 `PyPI(the Python Package Index)` 라고 알려진 저장소를 통해 이곳에 업로드하고 공유한다. `PyPI` 를 통해 공개된 파이썬 애플리케이션이나 패키지 등은 누구나 무료로 접근할 수 있고 사용할 수 있다.


이런 유용한 패키지들을 직접 찾아서 다운로드 할 수도 있겠지만 보다 쉽게 접근하고, 사용할 수 있도록 지원하는 도구들이 존재한다.



3.1 파이썬 패키지 관리도구

파이썬 패키지 관리도구를 사용하면 `PyPI` 를 통해 제공되는 패키지 등을 쉽게 다운로드 받을 수 있고, 또 원하는 패키지를 검색하는데도 유용하다.


3.1.1 setuptools

각종 파이썬 패키지의 손쉬운 설치를 제공하는 패키징이다. 직관적인 패키지 이름을 통해 이를 유추할 수 있다. setuptolls 를 설치하면 파이썬 IDE 에서 `easy_install` 이라는 명령어를 사용할 수 있다.


설치방법 : 

  1. https://pypi.python.org/pypi/setuptools#downloads
  2. ez_setup.py 실행
  3. 설치완료

사용방법 :

  1. easy_install {package name}

3.1.2 pip
`pip`는 `setuptools` 를 대체하기 위해 나왔다. `setuptools` 를 설치하면서 우리는 `easy_install` 명령어를 사용할 수 있었다. 그러나 이제 파이썬 진영에서는 `setuptools`를 과거의 유산으로 보내주고 `pip`를 사용하는 것을 장려하는 것 같다.

단순히 이름을 통한 설치만 지원하는 `setuptools`와 달리 검색 등 또는 그 외에 여러가지 편의 기능을 지원하는 `pip`가 사용성이 더 뛰어나다고 할 수 있겠다.

(한마디로 `setuptools` 나 `pip` 모두 `PyPI` 에서 제공되는 패키징을 쉽게 설치할 수 있도록 지원하는 도구인데, `setuptools` 보다 `pip` 가 더욱 최신의 사용성이 뛰어난 도구라고 보면된다. 3.x 버전부터는 `pip`가 기본으로 포함되어 제공된다고 한다.)

설치방법 : 
  1. setuptools 를 설치했으므로 easy_install 을 사용한다.
  2. easy_install pip
  3. 설치완료
사용방법 :
  1. pip install {package name}
  2. pip install --upgrade {package name}
  3. and so on ...

이 외에도 찾아보면 정말 유용하고 편리한 많은 도구들과 훌륭한 레퍼런스가 되는 패키지와 모듈들이 공유되고 있다. 작성한 파이썬 모듈을 패키징화 하는 `distutils`나 파이썬 개발환경을 가상화하는 `virtualenv` 등이 있는데 이에 관련된 내용들은 차차 정리하여 포스팅 하도록 하겠다.


U can search

아래 검색어를 입력하고 Search 버튼을 누르세요.