작성자: admin 작성일시: 2016-05-01 18:37:39 조회수: 3474 다운로드: 122
카테고리: Python 태그목록: Python

파이썬 설치

여기에서는 도커를 사용하지 않고 사용자의 컴퓨터에 직접 파이썬을 설치하여 사용하는 방법을 살펴본다.

파이썬의 종류

파이썬을 설치한다는 것은 파이썬 언어를 해석할 수 있는 인터프리터(interpreter)라는 프로그램을 설치한다는 뜻이다. 인터프리터란 소스 코드(source code)를 읽고 해석하여 수행하는 프로그램이다.

최초의 파이썬 언어 인터프리터는 C 언어로 만들어졌다. C로 만든 파이썬은 CPython(씨 파이썬이라고 읽는다.)이라고 한다. CPython은 C 혹은 C++ 언어로 된 바이너리 라이브러리를 직접 호출할 수 있기 때문에 수많은 C/C++ 라이브러리를 파이썬에서 쉽게 사용할 수 있는 장점이 있다. 수치 계산이나 데이터 분석용으로 파이썬을 사용할 때는 대부분 CPython을 사용한다.

그 외에 자바(Java)로 구현된 jython, 닷넷(.NET) 으로 구현된 IronPython, 자바스크립트로 구현된 Skulpt 등의 파이썬도 있다. 이러한 구현은 자바 라이브러리나 닷넷 컴포넌트를 파이썬에서 직접 호출하여 사용해야 하는 경우나 웹 브라우저에서 직접 파이썬을 실행해야 하는 경우에 쓰인다. PyPy와 Pyston은 최근 활발히 개발되고 있는 파이썬으로 JIT(Just-In-Time) 컴파일러를 내장하여 반복되는 코드를 빠르게 실행할 수 있도록 한다.

  • 파이썬의 종류
    • CPython
      • C 구현
    • jython
      • Java 구현
    • IronPython
      • .NET 구현
    • Skulpt
      • javascript 구현
    • PyPy
      • JIT 구현
    • Pyston
      • LLVM JIT 구현

파이썬의 버전

Python은 다른 언어와 달리 두 개의 버전이 동시에 활발하게 사용되고 있다. 그 이유는 버전 2로부터 버전 3으로 변경되며 문법이 호환되지 않기 때문이다. 기존에 버전 2를 사용하고 있던 사용자의 경우 버전 3으로 코드를 변경해야 하는 어려움이 있고 일부 패키지의 경우 아예 버전 3을 지원하지 않아 이러한 패키지를 사용하는 사람은 불가피하게 버전 2를 계속 사용할 수 밖에 없다.

  • 버전 표기법
    • major.minor.micro
  • 메이저 버전
    • 버전 2
      • 현재 최신 버전 2.7.13
    • 버전 3
      • 현재 최신 버전 3.6.0
  • 버전간 차이
    • 문자열 저장
      • 버전 2는 문자열을 바이트열 형태로 저장, version 3는 유니코드 포인트로 변환하여 저장
    • 문법 차이
      • print 명령, 나누기 연산자(division operator) 등

파이썬 설치

파이썬의 종류와 버전에 대해 알아보았으니 이제 파이썬을 설치해보기로 하자

만약 리눅스나 맥 운영체제를 사용하고 있다면 대부분 파이썬이 설치되어 있을 것이다. 윈도우즈를 사용하고 있다면 파이썬 공식 웹사이트인 https://www.python.org 에서 파이썬 인터프리터를 다운로드 받아 설치할 수 있다.

하지만 리눅스나 맥에 기본적으로 설치된 파이썬이나 공식 웹사이트에서 다운로드 받아서 설치하는 경우에는 파이썬 패키지 관리가 어렵고 여러가지 다양한 추가 도구를 별도로 설치해야 하기 때문에 권장하지 않는다. 대신에 다음에 설명하는 배포판을 이용하기를 권장한다.

  • https://www.python.org
    • 파이썬을 사용할 수 있는 최소의 설치
    • 기본적으로 인터프리터(interpreter)만 설치
    • 권장하지 않는다.

파이썬 배포판(Distrubutions)

파이썬은 기본 파이썬 인터프리터 이외에도 다양한 패키지와 개발 도구를 함께 설치해 주는 배포판(distribution)으로 설치하는 것이 좋다. 여러가지 배포판이 존재하기 때문에 사용하고자 하는 운영체제, 32/64 비트 지원 여부, 무료/상용 여부를 잘 고려하여 선택해야 한다.

  • 인터프리터 및 패키지(라이브러리), 패키지 관리 시스템, 콘솔(console), 강화된 인터프리터(enhanced interpreter) 등을 포함

  • 배포판의 종류

    • ActiveState
    • pythonxy
    • winpython
    • Conceptive
    • Enthought Canopy
    • PyIMSL Studio
    • eGenix PyRun
    • Anaconda

아나콘다 (Anaconda) 배포판

여러가지 배포판 중에서 현재 가장 널리 사용되는 파이썬 배포판은 컨티눔(Continuum)사가 제작한 아나콘다(Anaconda)라는 배포판이다. 아나콘다는 여러가지 배포판 중에서 가장 늦게 발표되었음에도 불구하고 뛰어난 완성도로 인해 현재 가장 널리 사용되는 사실상의 표준(de facto standard) 파이썬 배포판이 되었다.

아나콘다 배포판은 모든 패키지가 컴파일이 필요없는 바이너리(binary) 형태로 제공되기 때문에 설치 속도가 빠르고 패키지 의존성을 관리해주므로 패키지 관리가 편리하다.

  • 아나콘다 (Anaconda) 배포판
    • 가장 후발 주자 (2012년 설립)
    • 2017년 현재 사실상의 표준(de facto standard)
    • 모든 플랫폼(윈도우즈/리눅스/맥 32비트/64비트)에 대해 완벽한 패키지 제공

아나콘다 배포판을 설치하는 방법은 아주 쉽다. https://www.continuum.io/downloads 웹사이트에서 원하는 운영체제와 버전을 선택하여 다운로드 받은 뒤, 원클릭으로 설치할 수 있다.

다운로드를 받을 때는 자신이 사용하는 운영체제용 설치 파일을 선택하여 다운로드 받는다. 버전 2와 3 중 어느것을 선택해도 상관없다. 아나콘다를 사용하는 경우에는 가상 환경 설정이 쉽기 때문이다. 즉 버전 2를 일단 설치한 후에도 가상 환경을 사용하여 버전 3를 추가로 설치할 수 있기 때문이다. 여기에서는 모든 예제 코드가 버전 2.7 기준으로 되어 있으므로 버전 2를 다운로드 받으면 바로 예제 코드를 실행할 수 있다.

일단 다운로드 받은 후에는 간단하게 설치할 수 있다. 윈도우즈의 경우에는 다운로드 받은 파일을 더블클릭하면 설치가 쉽게 이루어진다.

아나콘다 배포판 설치가 완료되면 윈도우즈 운영체제의 경우 그림과 같이 Anaconda2(버전 2의 경우) 또는 Anaconda3(버전 3의 경우)이라는 아이콘 그룹이 생기고 그 아래에 다음과 같은 메뉴가 만들어진다.

  • Anaconda Prompt
  • IPython
  • Jupyter Notebook
  • Jupyter QTConsole
  • Spyder
  • Windows 시스템의 경우

패키지 관리

설치가 완료되면 어떤 파이썬 패키지들이 설치되었는지 확인하자. 패키지 관리자에는 기본 파이썬 패키지 관리자인 pip 와 아나콘다에서 지원하는 conda 가 있다. 콘솔 창을 열고 다음 명령들을 실행해 본다.

pip 패키지 관리자

pip 는 파이썬에서 기본으로 제공하는 패키지 관리자이다. list 커맨드로 설치된 패키지 목록을 볼 수 있다.

$ pip list 

alabaster (0.7.9)
APScheduler (3.3.1)
Babel (2.3.4)
backports-abc (0.5)
backports.shutil-get-terminal-size (1.0.0)
backports.ssl-match-hostname (3.4.0.2)
colorama (0.3.7)
CommonMark (0.5.4)
configparser (3.5.0)
coverage (4.2)
cycler (0.10.0)
Cython (0.25.2)
decorator (4.0.10)
docutils (0.13.1)
dralgo (0.7, d:\code\dralgo)
enum34 (1.1.6)
funcsigs (1.0.2)
future (0.16.0)
futures (3.0.5)

... (이하 생략)

conda 패키지 관리자

conda 는 Anaconda 배포판에서 파이썬 패키지(라이브러리)를 설치하고 관리하는 역할을 하는 프로그램이다. pip와 마찬가지로 list 커맨드를 이용하여 설치된 패키지 목록을 볼 수 있다.

conda list

# packages in environment at C:\Anaconda2\envs\dralgo:
#
alabaster                 0.7.9                    py27_0
APScheduler               3.3.1                     
babel                     2.3.4                    py27_0
backports                 1.0                      py27_0
backports_abc             0.5                      py27_0
bzip2                     1.0.6                     vc9_3  [vc9]
colorama                  0.3.7                    py27_0
CommonMark                0.5.4                     
configparser              3.5.0                    py27_0
coverage                  4.2                      py27_0
cycler                    0.10.0                   py27_0
cython                    0.25.2                   py27_0
dateutil                  2.4.1                    py27_0
decorator                 4.0.10                   py27_1
docutils                  0.13.1                    
enum34                    1.1.6                    py27_0
funcsigs                  1.0.2                    py27_0
future                    0.16.0                   py27_0
futures                   3.0.5                    py27_0

... (이하 생략)

파이썬 동작 확인

패키지 설치를 확인하였으면 콘솔 창에 다음과 같이 입력하여 기본 파이썬 인터프리터를 실행한다.

정상적으로 실행된다면 파이썬 버전 번호를 포함한 환경 메세지가 나오고 >>> 형태의 프롬프트가 나온다. 파이썬 인터프리터를 종료하려면 exit() 명령을 실행한다.

$ python
Python 2.7.11 |Anaconda custom (64-bit)| (default, Dec  6 2015, 18:08:32)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>>
>>> exit()

IPython 콘솔 동작 확인

이번에는 콘솔 창에 다음과 같이 입력하여 기본 파이썬 인터프리터보다 기능이 강화된 파이썬 인터프리터인 IPython(아이 파이썬이라고 읽는다)을 실행한다.

프롬프트가 아까와 달리 In [1] 과 같은 형태이다. IPython을 종료하려면 exit 라고 만 치면 된다. (함수 호출을 위한 괄호는 필요없다.)

$ ipython
파이썬 2.7.11 |Anaconda custom (64-bit)| (default, Dec  6 2015, 18:08:32)
Type "copyright", "credits" or "license" for more information.

IPython 4.1.2 -- An enhanced Interactive 파이썬.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> 파이썬's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]:

In [1]: exit

주피터 QTConsole 동작 확인

주피터(Jupyter) QTConsole은 기본 파이썬 인터프리터나 IPython처럼 콘솔에서 실행되지 않고 별도의 윈도우를 가지는 GUI 어플리케이션이다. 사용 방법은 IPython과 같다.

윈도우즈에서는 다음과 같이 메뉴를 선택하여 실행할 수 있다.

  • 모든 프로그램 > Anaconda2 > Jupyter QTConsole

또는 콘솔에서 다음과 같이 입력해도 된다.

$ jupyter qtconsole

리눅스의 경우 X-window가 없고 콘솔만 지원하는 서버 환경에서는 실행되지 않는다.

주피터 노트북 동작 확인

주피터 노트북(Jupyter Notebook)은 웹 브라우저를 사용하여 문서와 코드를 동시에 지원하는 개발 도구이다. 웹서버의 형태로 구현되어 있다.

주피터 노트북을 실행하려면 윈도우즈에서 다음과 같이 메뉴를 선택한다.

  • 모든 프로그램 > Anaconda2 > Jupyter Notebook

또는 콘솔에서 다음과 같이 입력해도 된다.

$ jupyter notebook

주피터 노트북을 실행하면 웹서버 프로세스가 돌아가는 콘솔창이 실행되고 동시에 http://localhost:8888/tree 주소로 웹 브라우저가 가동된다. 만약 자동으로 실행되지 않는다면 웹 프라이저를 가동하고 http://localhost:8888/tree 주소를 입력한다.

웹서버 프로세스가 돌아가는 콘솔창을 죽이면 주피터 노트북 웹서버가 중지되므로 주피터 노트북 사용이 끝날 때까지 이 콘솔을 없애면 안된다.

질문/덧글

마지막 오타있네요! cyh1*** 2017년 2월 10일 3:47 오후

주피터 노트북 실행 명령어가 주피터 QTconsole 실행 명령어로 되어있어요~!

답변: 마지막 오타있네요! 관리자 2017년 2월 10일 4:32 오후

지적 감사드립니다. 수정하였습니다.