여기 있어요 : Home Dive Into Python 3

Difficulty level: ♦♢♢♢♢

파이썬 설치

Tempora mutantur nos et mutamur in illis. (시간은 흐르고, 우리도 그 따라 변해가네.)
— 고대 로마의 속담

 

뛰어들기

파이썬3로 프로그래밍을 하기 전에, 우선 설치를 해야합니다. 아니면 이미 깔려 있나요?

어떤 파이썬이 내 시스템에 맞을까?

당신이 지금 호스팅 되고 있는 서버의 한 계정을 받아쓰고 있다면, ISP(인터넷 서비스 제공자)가 아마도 파이썬3를 깔아 놓았을겁니다. 만약 집에서 리눅스를 쓰고 있다 해도 마찬가지죠. 많은 유명 GNU/Linux 배포판들에 기본적으로 파이썬2가 설치되어 있습니다. 파이썬3도 함께 설치되어 있는 배포판의 수는 적지만 점점 많아지고 있죠. 맥 OS X는 커맨드라인 버전의 파이썬2를 포함하고 있습니다. 하지만 이 글을 쓰고 있는 시점에서 파이썬3는 깔려 있지 않습니다. 마이크로소프트 윈도우즈에는 어떤 파이썬도 설치되어 있지 않습니다. 하지만 실망하진 마세요! 어떤 운영체제를 사용하던지 버튼을 몇번 누르는 것만으로 직접 파이썬을 설치할 수 있으니까요.

지금 컴퓨터에 깔린 리눅스나 맥 OS X 등에 파이썬 3가 깔려있는지 확인하는 가장 쉬운 방법은 커맨드라인 창으로 들어가는 겁니다. 커맨드라인 창으로 들어간 후, (소문자로 공백없이) python3라고 친 후 ENTER키를 누르세요. 그리고 어떻게 되는지 보죠. 제 리눅스 시스템에는 이미 파이썬3.1이 깔려있어 파이썬 대화형 실행기가 실행되네요.

mark@atlantis:~$ python3
Python 3.1 (r31:73572, Jul 28 2009, 06:52:23) 
[GCC 4.2.4 (Ubuntu 4.2.4-1ubuntu4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

(파이썬 대화형 실행기를 끄기 위해서는 exit()라 치고 ENTER를 누르세요.)

제가 쓰는 웹 호스팅 업체도 리눅스를 사용하고 있고 커맨드라인 형태의 접근이 가능하지만, 서버에 파이썬3을 깔아놓진 않았군요. (푸!)

mark@manganese:~$ python3
bash: python3: command not found

이 절을 시작하면서 던졌던 질문으로 돌아가보죠, “어떤 파이썬이 나한테 맞을까?” 당신이 사용할 시스템은 당최 어떤건가요.

[윈도우즈에 대한 설명을 들으려면 계속 읽고, 아니라면 맥 OS X에 설치하기, 우분투 리눅스에 설치하기, 또는 다른 플랫폼에 설치하기 등으로 건너뛰세요.]

마이크로소프트 윈도우즈에 설치

윈도우즈에는 현재 두가지 아키텍쳐가 존재합니다. 32비트와 64비트죠. 물론, 윈도우즈는 각기 다른 많은버전이 있죠. XP, Vista, 윈도우 7 등 —  하지만 파이썬은 그 모두에서 잘 돌아갑니다. 더 중요한 차이는 32비트냐 64비트냐 입니다. 만약 당신 윈도우가 어떤 아키텍쳐상에서 돌아가는지 모른다면, 아마도 32비트일 확률이 큽니다.

python.org/download/에 들어가 아키텍쳐에 맞는 윈도우 인스톨러를 받으세요. 다음 둘 중 하나를 선택할 수 있습니다.

파이썬은 작은 업데이트를 매우 자주 하기 때문에 여기서 바로 다운로드 받을 수 있게 하지는 않았습니다. 중요한 업데이트를 놓치게 한 책임을 지고 싶지는 않거든요. 뭔가 고상한 이유가 있는게 아니라면 항상 최신버전의 파이썬 3를 받으세요.

  1. [Windows dialog: open file security warning]

    다운로드가 끝났으면, 이 .msi파일을 더블클릭하세요. 실행 코드가 작동되기 때문에, 윈도우즈가 보안경고창을 띄울겁니다. 공식 파이썬 인스톨러는 파이썬 개발을 관장하는 비영리 법인인 파이썬 소프트웨어 재단의 디지털 서명이 들어가 있습니다. 유사품에 주의 하세요!

    Run 버튼을 눌러 파이썬3 인스톨러를 띄우세요.

  2. [Python installer: select whether to install Python 3.1 for all users of this computer]

    인스톨러가 실행되면 파이썬3를 개인용으로 설치할지 공용으로 설치할지 물어봅니다. 기본값은 “공용으로 설치(install for all users)” 입니다. 특별한 이유가 없다면 제일 나은 선택이죠. “개인용으로 설치(install just for me)”를 선택할 만한 한가지 이유로는 관리자 권한이 없는 회사 윈도우즈 계정에 파이썬을 까는 경우가 있죠. 하지만 회사 윈도우즈 관리자의 허락없이 왜 파이썬을 깔려는거죠? 절 곤란하게 하지마세요!

    설치 형태를 선택한 후 Next버튼을 누르세요.

  3. [Python installer: select destination directory]

    다음으로, 설치 디렉토리를 결정합니다. 파이썬 3.1대 버전에서는 기본적으로 C:\Python31\에 설치됩니다. 특별한 이유가 있다면 다른 곳에 설치할 수 있습니다. 혹시 어플리케이션을 주로 다른 드라이브에 설치한다면, 내장 컨트롤을 사용하거나, 아래 주소창에 직접 주소를 입력할수 있습니다. 파이썬을 꼭 C: 드라이브에 깔 필요는 없습니다. 어떤 드라이브의 어떤 폴더에 깔아도 좋습니다.

    설치 디렉토리를 고른 후 Next 버튼을 눌러 다음으로 넘어가세요.

  4. [Python installer: customize Python 3.1]

    다음 페이지는 좀 복잡해 보이지만, 사실 간단합니다. 다른 프로그램들을 설치할 때처럼, 파이썬3도 모든 요소를 설치할 필요는 없습니다. 만약 하드공간이 많이 남아있지 않다면, 어떤 부분은 제외해도 괜찮습니다.

  5. [Python installer: disk space requirements]

    만약 하드 드라이브에 얼마만큼의 용량이 남아있는지 모른다면, Disk Usage 버튼을 클릭하세요. 가지고 있는 드라이브와 그 남은 용량이 표시됩니다.

    OK 버튼을 눌러 “Customizing Python” 페이지로 돌아가세요.

  6. [Python installer: removing Test Suite option will save 7908KB on your hard drive]

    만약 그 중 일부를 설치하지 않기로 했다면, 각 옵션 앞에 있는 드롭다운 형식의 버튼을 누른후 “Entire feature will be unavailable.”를 선택하세요. 예를 들어, test suit 를 선택해제하면 7908KB의 디스크 용량이 절약됩니다.

    모든 선택을 마치면 Next 버튼을 눌러 다음 단계로 넘어갑시다.

  7. [Python installer: progress meter]

    당신이 선택한 디렉토리에 필요한 모든 파일이 복사될겁니다. (이 과정이 너무 빨리 끝나서, 이 장면의 스크린샷을 찍으려고, 세번이나 다시 실행했답니다!)

  8. [Python installer: installation completed. Special Windows thanks to Mark Hammond, without whose years of freely shared Windows expertise, Python for Windows would still be Python for DOS.]

    Finish버튼을 클릭해 설치를 끝내세요.

  9. [Windows Python Shell, a graphical interactive shell for Python]

    시작메뉴에, Python 3.1이라는 항목이 생겼습니다. 그 안에 IDLE이란 프로그램이 있습니다. 이 항목을 선택해 대화형 파이썬 셸을 띄우세요.

[파이썬 셸 다루기으로 이동]

Mac OS X 에서 설치

최근에 나온 모든 매킨토시 컴퓨터는 (보통의 윈도우 PC들 처럼) 인텔칩을 사용합니다. 그전의 맥은 파워피씨 칩을 사용했습니다. 하지만 그 차이를 알 필요는 없습니다. 파이썬은 모든 맥에 대해 하나의 인스톨러를 제공합니다.

python.org/download/ 에서 맥 인스톨러를 다운 받으세요. Python 3.1 Mac Installer Disk Image같은 형식으로 되어있습니다. 버전 숫자는 차이가 있을수 있습니다. 2점대 버전이 아니라 3점대 버전인 점을 유의하세요.

  1. [contents of Python installer disk image]

    아마도 브라우저가 자동으로 디스크 이미지를 불러와 그 내용을 파인더에 띄울겁니다. (만약 그렇지 않다면 다운로드 폴더에 있는 파일을 찾아 실행하세요. python-3.1.dmg같은 형태의 파일이 있을겁니다.) 이 디스크 이미지안에는 몇개의 텍스트 파일과 (Build.txt, License.txt, ReadMe.txt), 실제 설치 패키지 Python.mpkg 가 들어 있습니다.

    Python.mpkg파일을 더블클릭해 맥 파이썬 인스톨러를 띄우세요.

  2. [Python installer: welcome screen]

    설치 첫페이지에는 파이썬에 대한 간략한 설명이 들어있습니다. 더 자세한 사항은 ReadMe.txt 파일을 참고하라네요. (아직 읽지 않으셨죠?)

    Continue 버튼을 눌러 다음으로 넘어갑시다.

  3. [Python installer: information about supported architectures, disk space, and acceptable destination folders]

    다음 페이지는 중요한 몇가지 정보를 담고 있습니다: 맥 오에스 X 10.3 또는 그 이후 버전에서만 파이썬이 돌아간다는 것. 아직 맥 오에스 X 10.2를 쓰고 있다면, 빨리 버전 업 하세요. 애플이 더이상 10.2에 대한 보안 업데이트를 내놓지 않기 때문에 인터넷 사용시 문제가 생길수 있습니다. 물론 파이썬3도 실행할수 없구요.

    Continue 버튼을 눌러 더 들어가봅시다.

  4. [Python installer: software license agreement]

    제대로 된 많은 인스톨러처럼, 파이썬 인스톨러도 소프트웨어 라이센스 동의 페이지를 띄웁니다. 파이썬은 오픈소스고 그 라이센스는Open Source Initiative에 적용을 받습니다. 파이썬은 그 라이센스에 족적을 남긴 여러명의 소유자와 스폰서가 있어왔습니다. 하지만 지금 파이썬은 오픈소스입니다. 파이썬은 돈을 받지 않고 어떤 의무도 지우지 않습니다. 어떤 플랫폼에서, 어떤 목적으로 사용하더라도 상관없습니다.

    Continue 버튼을 한번 더 누르세요.

  5. [Python installer: dialog to accept license agreement]

    이번에도 애플 인스톨 프레임워크의 고약한 취미가 나왔습니다. 설치를 끝내기 위해선 소프트웨어 라이센스에 동의를 하라네요 . 하지만 오픈소스인 파이썬은 당신에게 권리를 주면 주었지 뺏지는 않습니다.

    한번 더 Agree 버튼을 누르세요.

  6. [Python installer: standard install screen]

    여기서는 설치 위치를 변경할수 있습니다. 파이썬을 꼭 시스템 드라이브에 깔아야 하지만, 바보같이 인스톨러는 이를 강요하지 않습니다. 뭐 사실 저는 설치 폴더를 변경할만한 이유가 없네요.

    이 페이지에서 몇가지 기능들을 설치 목록에서 제거할 수도 있습니다. 만약 그렇게 하고 싶으면 Customize 버튼을 누르고, 아니라면 Install 버튼을 누르세요.

  7. [Python installer: custom install screen]

    사용자가 골라 설치하기를 선택하면, 인스톨러가 아래 몇가지 기능에 대한 목록을 띄웁니다.

    Install버튼을 눌러 넘어가세요.

  8. [Python installer: dialog to enter administrative password]

    설치가 시작되면 시스템을 건드리게되고, 그 2진 데이터가 /usr/local/bin/에 설치 되기 때문에, 인스톨러가 관리자 암호를 묻습니다. 관리자 권한없이 맥 파이썬을 설치할 방법은 없습니다.

    OK 버튼을 눌러 설치를 시작하세요.

  9. [Python installer: progress meter]

    선택한 기능을 인스톨하는 동안 진행 막대가 보여집니다.

  10. [Python installer: install succeeded]

    모든 과정이 문제 없이 진행되었으면, 큰 초록색 체크 표시가 뜨면서 설치가 잘 끝났음을 알립니다.

    Close 버튼을 눌러 설치를 종료하세요.

  11. [contents of /Applications/Python 3.1/ folder]

    설치 폴더를 바꾸지 않았다면, /Applications안에 Python 3.1 폴더에 파일들이 새로이 설치된것을 볼수 있습니다. 그 중 가장 중요한 건 그래픽 파이썬 셸인 IDLE입니다.

    IDLE을 더블클릭해 파이썬 셸을 띄우세요.

  12. [Mac Python Shell, a graphical interactive shell for Python]

    파이썬을 다루는 대부분의 시간동안 파이썬 셸과 함께하게 됩니다. 저는 독자분들이 파이썬 셸로 들어가는 방법을 찾았다는 전제 하에 이 책의 예제를 썼습니다.

[파이썬 셸 다루기로 넘어가세요]

우분투 리눅스에 설치

최근 리눅스 배포판들은 엄청난 수의 저장소에 의지하고 있습니다. 이 저장소에는 기계어로 번역되어 설치를 기다리는 애플리케이션이 모여있습니다. 각 배포판마다 선택한 애플케이션들이 다릅니다 . 우분투 리눅스에서 파이썬 3를 설치하는 가장 쉬운 방법은 애플리케이션 메뉴의 설치/제거 관리자를 이용하는 겁니다.

  1. [Add/Remove: Canonical-maintained applications]

    처음 설치/제거 관리자를 실행하면, 여러 범주의 미리 선택된 프로그램들의 목록이 뜹니다. 어떤것들은 이미 설치되어 있습니다. 저장소에는 만개가 넘는 프로그램들이 있기 때문에, 그 중 적은 일부만 볼수 있게끔 여러 거르개가 있습니다. 기본 거르개는 캐노니컬에서 공식적으로 지원하는 앱을 담은 “캐노니컬에서 제공하는 애플리케이션 모음“이라는 작은 꾸러미 입니다. 캐노니컬은 우분투 리눅스를 만들고 지원하는 회사입니다.

  2. [Add/Remove: all open source applications]

    파이썬 3는 캐노니컬에 의해 지원되고 있지 않습니다. 그러니 처음에 거르개 메뉴를 열어 “오픈소스 애플리케이션 전체“로 바꿔주세요.

  3. [Add/Remove: search for Python 3]

    거르개를 오픈소스 애플리케이션 전체로 확장 시켰으면, 그 오른쪽에 있는 검색 박스에 Python 3라고 쳐보세요.

  4. [Add/Remove: select Python 3.0 package]

    이제 Python 3가 들어가는 애플리케이션들로 범위가 좁혀집니다. 여기서 두 개의 패키지를 선택하세요. 하나는 Python (v3.0)입니다. 이것은 파이썬 인터프리터를 포함합니다.

  5. [Add/Remove: select IDLE for Python 3.0 package]

    다른 하나는 그 바로 위에 있는 IDLE (using Python-3.0)입니다. 이것은 이 책에서 계속 사용할 그래픽 파이썬 셸입니다.

    두 패키지를 모두 선택했으면 Apply Changes 버튼을 눌러 다음으로 넘어가세요.

  6. [Add/Remove: apply changes]

    패키지 매니저가 IDLE (using Python-3.0)Python (v3.0)을 더하려는게 맞는지 다시 물어봅니다.

    Apply 버튼을 눌러 넘어가세요.

  7. [Add/Remove: download progress meter]

    패키지 매니저가 캐노니컬의 인터넷 저장소에서 필요한 요소를 다운받는동안 진행 바가 보여집니다.

  8. [Add/Remove: installation progress meter]

    패키지가 다운되면, 패키지 매니저가 자동으로 설치를 시작합니다.

  9. [Add/Remove: new applications have been installed]

    모두 잘 끝나면, 패키지 매니저가 두 패키지 모두 설치가 잘 끝났다고 창을 띄웁니다. 이 창에서 IDLE을 더블클릭해 파이썬 셸을 띄우시던가, Close 버튼을 눌러 패키지 매니저에서 빠져 나가세요.

    애플리케이션 메뉴의 하위 메뉴 프로그래밍 으로 들어가면 IDLE을 실행할수 있습니다.

  10. [Linux Python Shell, a graphical interactive shell for Python]

    파이썬을 다루는 대부분의 시간동안 파이썬 셸과 함께하게 됩니다. 저는 독자분들이 파이썬 셸로 들어가는 방법을 찾았다는 전제 하에 이 책의 예제를 썼습니다.

[파이썬 셸 다루기로 넘어가세요]

다른 플랫폼에 설치

파이썬 3는 매우 다양한 플랫폼에서 사용할 수 있습니다. 사실상 모든 리눅스, BSD, 솔라리스 기반의 배포판에서 사용할수 있죠. 예를 들어, 레드햇 리눅스는 yum 패키지 매니저를 사용합니다. FreeBSD는 그 만의ports and packages collection이 있고, SUSEzypper를 쓰며, 솔라리스는 pkgadd를 사용합니다. 웹에 Python 3 + 사용 운영체제 를 검색해보면 그 운영체제에서 파이썬3를 쓸 수 있는지, 어떻게 설치하는지에 대해 나올겁니다.

파이썬 셸 다루기

파이썬 셸은 파이썬 문법을 확인해보거나, 명령어에 대한 도움말을 바로바로 보려하거나, 작은 프로그램을 고칠 때 사용합니다. (IDLE이라는 이름의) 그래픽 파이썬 셸은, 파이썬 셸을 품고 문법을 각가지 색상들로 표현해주는 괜찮은 텍스트 편집기입니다. 선호하는 텍스트 편집기가 없다면 IDLE 을 한번 써보세요.

우선 파이썬 셸에 대해 알아봅시다. 파이썬 셸은 놀라운 대화형 놀이터 입니다. 아래같은 예제들을, 이 책에서 계속 보게 될겁니다.

>>> 1 + 1
2

여기서 오른꺽쇠 셋(기다림쇠 - >>>)은 파이썬 셸이 사용자 명령을 기다린다는 뜻입니다. 이건 따라치치 않으셔도 됩니다. 이렇게 써서 이 예제가 파이썬 셸에서 돌아가고 있다는 것을 나타내려 했을 뿐입니다.

1 + 1 은 따라쳐야 합니다. 파이썬 셸에서 적절한 파이썬 표현이나 명령어를 사용할수 있습니다. 물지 않으니까 두려워 하지 마세요. 기껏 해야 에러 메시지를 뱉을 뿐입니다. (ENTER를 치면) 명령어는 바로 실행되고, 표현식은 그 값이 바로 계산됩니다. 파이썬 셸은 그 결과를 모니터에 띄웁니다.

2 는 이 표현식의 결과입니다. 1 + 1 이 유효한 파이썬 표현식이므로 그 결과를 띄운겁니다. 그 값은 당연히 2 입니다.

다른 걸 한번 더 해볼까요.

>>> print('Hello world!')
Hello world!

매우 간단하죠, 아닌가요? 하지만 파이썬 셸에는 더 많은 즐길거리가 있습니다. 명령어가 기억나지 않거나, 특정한 함수에 넘겨야 할 적정 인수가 기억나지 않는다면 파이썬 셸 안에서 바로 도움을 받을수 있습니다. help 라고만 적은 뒤 ENTER를 쳐보세요.

>>> help
Type help() for interactive help, or help(object) for help about object.

두가지 형태의 도움을 얻을 수 있습니다. 한가지 주제에 대한 도움말을 띄우고는 파이썬 셸로 바로 돌아오거나, 도움말 모드로 들어갈 수 있습니다. 여기서는 파이썬 표현식을 계산하는 대신, 키워드나 명령어를 썼을 때 셸이 그 명령에 대해 알고 있는 내용을 띄웁니다.

대화형 도움말 모드로 들어가려면, help()라 쓰고 ENTER를 치세요.

>>> help()
Welcome to Python 3.0!  This is the online help utility.

If this is your first time using Python, you should definitely check out
the tutorial on the Internet at http://docs.python.org/tutorial/.

Enter the name of any module, keyword, or topic to get help on writing
Python programs and using Python modules.  To quit this help utility and
return to the interpreter, just type "quit".

To get a list of available modules, keywords, or topics, type "modules",
"keywords", or "topics".  Each module also comes with a one-line summary
of what it does; to list the modules whose summaries contain a given word
such as "spam", type "modules spam".

help> 

기다림쇠가 >>> 에서 help>로 바뀐 것이 보이나요? 이는 현재 대화형 도움말 모드에 있다는 것을 알려줍니다. 이제 여기서 어떤 키워드나 명령어, 모듈 이름, 함수 이름 등 — 파이썬이 알고 있는 어떤 것이든 — 을 치고 그 도움말을 읽으세요.

help> print                                                                 
Help on built-in function print in module builtins:

print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout)
    
    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file: a file-like object (stream); defaults to the current sys.stdout.
    sep:  string inserted between values, default a space.
    end:  string appended after the last value, default a newline.

help> PapayaWhip                                                            
no Python documentation found for 'PapayaWhip'

help> quit                                                                  

You are now leaving help and returning to the Python interpreter.
If you want to ask for help on a particular object directly from the
interpreter, you can type "help(object)".  Executing "help('string')"
has the same effect as typing a particular string at the help> prompt.
>>>                                                                         
  1. print()에 대한 문서를 읽으려면, print라고 쓰고 ENTER를 누르세요. 그러면 대화형 도움 모드가 매뉴얼페이지 같은 무언가를 띄웁니다. 여기에는 함수의 이름, 기능 요약, 함수의 인수와 기본값 등이 적혀 있습니다. 그 문서가 잘 이해되지 않는다 해도 걱정 마세요. 뒤에 나올 몇개의 장에서 이런 개념들에 대해 배우게 됩니다.
  2. 물론 대화형 도움 모드가 모든것에 대해 다 알지는 못합니다. 파이썬 명령어가 아니거나, 모듈, 함수, 다른 내장 키워드가 아니라면 대화형 도움 모드는 그냥 그 가상의 어깨를 으쓱하고 말뿐입니다.
  3. 대화형 도움 모드를 벗어나기 위해 quit이라 치고 ENTER를 누르세요.
  4. 기다림쇠가 >>>로 바뀌며 다시 파이썬 셸로 돌아왔음을 알립니다.

IDLE 그래픽 파이썬 셸은, 파이썬 언어편집기도 포함하고 있습니다.

파이썬 편집기와 통합개발환경 툴

하지만 파이썬 문서 작성을 위한 프로그램이 IDLE만 있는것은 아닙니다. IDLE이 파이썬이라는 언어을 배우기 위한 좋은 출발점이긴 하지만, 많은 개발자들이 다른 텍스트 편집기 또는 통합개발환경(Integrated Development Environments  —  IDEs)을 더 선호합니다. 여기에 그 모두를 실을 순 없지만 파이썬 커뮤니티 는 파이썬 편집기 모음을 통해 많은 에디터의 지원플랫폼이나 소프트웨어 라이센스등을 다루어 놓았습니다.

물론 통합개발환경을 선호할 수도 있겠죠. 그 중 일부만 파이썬 3를 지원합니다. 그 하나로는 PyDev라는 Eclipse플러그인이 있습니다. 이 플러그인을 통해 Eclipse는 완전한 파이썬 개발환경이 되었습니다. Eclipse와 PyDev 모두 플랫폼에 독립적이고 오픈소스입니다.

상용 소프트웨어로는, ActiveState’s의 Komodo IDE가 있습니다. 사용자 당 요금을 내고, 학생은 할인이 됩니다. 필요하다면 이용기한에 제한이 있는 트라이얼 버전을 사용해 볼 수 있습니다.

저는 9년동안 파이썬 프로그래밍을 해오면서 GNU Emacs로 프로그램을 작성하고, 오류가 나면 커맨드 라인 파이썬 셸을 이용해 고쳤습니다. 파이썬을 개발하는데 옳고 그른 방법이란 없습니다. 당신에게 맞는 방법을 찾으세요!

© 2001–11 Mark Pilgrim