티스토리 뷰



직장이나 집에서 사용하는 컴퓨터에서 수행하는 대부분의 프로그램들은 많은 경우 C/C++, C#, Java등의 프로그래밍 언어로 제작 합니다. 어셈블리나 베이직등의 언어를 사용하기도 하지만 대부분의 응용 프로그램들이 이들 언어로 제작되고 있다고 해도 과언이 아닙니다.

 

그런데, 이런 환경에서 파이썬이란 언어가 등장한 배경에는 바로 "개발 생산성"에 있습니다.  쉽고 빠르게 개발할 수 있고 라이브러리 활용성, 확장성 및 재사용을 극대화 하면서도 시스템 독립성 확보로 어떤 시스템에서나 제한 없이 사용할 수  있는 그러한 언어를 만들자는 의도로 1980년대말에 네덜란드 출신의 개발자 귀도 반 로섬(Guido van Rossum)에 의해 시작 되었습니다.(http://en.wikipedia.org/wiki/Python_(programming_language) 참조)

 

파이썬 언어로 작성한 프로그램을 사용하는 방법은 파이썬 코드를 바이트코드(bytecode)로 컴파일한 다음 가상머신(VM)을 통해 실행하는 것과 파이썬 소스 코드를 인터프리터를 통해 직접 수행하는 방법이 있습니다. 두가지 특성을 모두 가지고 있는 점에서 본다면 베이직과 유사하고 중간에 바이트 코드를 만들어 가상 머신을 통해 수행시키는 관점에서 보면 C#, Java등과 유사하다고 할 수 있습니다. 파이썬은 오픈소스로 학습이나 개발을 위한 도구를 구입할 필요없이 다양한 개발 도구를 무료로 사용할 수 있습니다.

 

파이썬은 웹 및 인터넷(메일, 소켓...) 관련 개발 지원 뿐만아니라 여러 DBMS에 대한 데이터베이스 인터페이스를 제공하고 있으며, Tcl/Tk GUI를 기본 내장하고 GTK+나 QT를 사용할 수 있고 win32 확장을 통한 MFC 사용도 가능 합니다. 빌드 자동화나 테스트 같은 개발 지원에도 사용되고 게임 개발이나 3D 그래픽에도 응용되고 있습니다. 구글의 검색 엔진과 다양한 기능 구현에 파이썬을 사용하고 있으며 나사(NASA), Yahoo Groups, 유튜브를 비롯한 다양한 서비스에 파이썬이 적용되고 있습니다.(http://en.wikipedia.org/wiki/List_of_Python_software 참조)

 

이번 포스팅에서는 윈도우 환경에서 파이썬 학습을 위한 환경 설치를 다루어 보고자 합니다.


■ 파이썬 버전 2와 버전 3



파이썬 설치는 https://www.python.org/downloads/에서 할 수 있고 윈도우용 패키지는 위의 그림과 같이 https://www.python.org/downloads/windows/에서 다운로드 받을 수 있습니다. 


문제는 다운로드 페이지에서도 확인할 수 있듯이 2.7.16과 같은 버전 2 패키지와 3.7.2와 같은 버전 3패키지를 동시에 배포하고 있다는 것입니다. 가장 최신 버전을 다운로드 받으면 되지 무슨 고민이냐?고 묻는 사람도 있을 수 있지만 파이썬을 본격적으로 사용하는 단계에 들어서면 파이썬으로 만들어진 일부 라이브러리들이 버전 3를 지원하지 않는 상황을 자주 만나게 됩니다. 서브버전 에지(Subversion EDGE)와 같이 파이썬 환경을 함께 배포하는 패키지를 보면 여전히 파이썬 버전 2를 채용하고 있는 현실입니다. 물론 윈도우 XP 이하 처럼 버전 3가 지원하지 않는 플랫폼을 사용하고 있다면 고민할 필요 없이 버전 2를 사용하면 됩니다. 또한 파이썬 언어 공부에 국한한다면 무엇을 설치해도 문제가 될 것은 없습니다. 


버전 2와 버전3간에 어떤 차이가 있기에 많은 개발자들이 버전 선택을 고민하고 있을까? 몇가지 정리해 보면 아래와 같습니다.


    • 정수와 정수를 나누면 버전2는 정수로 1을 2로 나누면 결과는 0입니다.
      반면에 버전3에서는 정수와 정수를 나누어도 결과는 
      실수(float) 클래스로 0.5 입니다. 
      위와 같은 상황에서 버전2에서 실수를 얻기 위해서는 두 연산 대상 가운데 하나를 실수로 지정하면 됩니다.

    • 버전2에서는 print 구문으로 print 다음에 괄호 유무와 관계없이 동작했으나 
      버전3에서는 print는 구문이 아니라 함수로 반드시 괄호를 사용해야 합니다.

    • 버전2에서는 일반 문자열과 유니코드 문자열의 구분이 있었으나
      버전3에서는 모든 스트링을 유니코드 문자열로 취급합니다.

    • 버전2에서는 int와 long의 타입 구분이 있었으나 
      버전3에서는 모두 int 클래스로 다루어 집니다.

    • 기타 버전2에서 지원하지 않는 버전3의 기능들


결국 돌아보면 버전3로 개발하는 것이 좋은 성능의 파이썬 코드를 작성할 수는 방법 이기는 하지만 연관 라이브러리를 사용해야 하는 경우 버전3를 지원하지 않는 것이 있을 수 있다는 제약점이 있습니다. 버전2는 2020년 마지막 릴리즈 이후 더이상 지원하지 않을 예정이라고는 하는데 성능은 조금 떨어지지만 버전2로 작성한 파이썬 코드가 더 넓은 호환성을 가지고 있고 추후 버전3로 업그레이드 할 수 있는 가능성이 있다는 장점이 있습니다. 그래서 필자는 버전2를 파이썬 학습 환경으로 설치하기로 했습니다.



■ 환경 설치하기


파이썬 환경 설치시 주의할 점은 여러개의 파이썬 버전이 설치되는 것으로 인한 혼란을 컨트롤해야 한다는 것입니다. 윈도우, 맥, 리눅스등의 시스템에 파이썬을 설치할 경우 통상 시스템의 경로, 레지스트리, 환경변수등에 관련 정보를 저장하기 때문에 되도록 하나의 버전이 설치 되도록 관리할 필요가 있습니다. 



위에서 언급한 다운로드 페이지에서 윈도우용 파이썬 설치 패키지를 다운로드 받아 설치를 시작합니다.



설치 경로는 기본 경로를 그대로 사용하고, 설치할 구성 요소도 기본 설정을 그대로 선택하고 Next를 클릭하여 설치를 진행합니다. 설치가 끝나면 Finish를 클릭 합니다.



파이썬 환경이 정상적으로 설치되면 위의 그림과 같이 시작>모든 프로그램>Python 2.7에 관련 프로그램들을 확인 할 수 있습니다. 파이썬 학습 과정에서는 "IDLE(Python GUI)"이라 부르는 간단한 파이썬 통합 개발 환경과 "Python(command line)"의 콘솔 프로그램을 주로 사용합니다.



■ 파이썬 경로 출력하기


현재 설치한 파이썬 패키지의 홈 디렉토리와 import 구문등을 사용할 때 내부적으로 검색하는 파이썬 경로를 프로그램으로 출력하는 간단한 프로그램 테스트를 통해서 현재의 파이썬 학습 환경을 확인합니다.



import sys

for p in sys.path: print p


파이썬 코드 테스트를 위해서 "Python(command line)" 프로그램을 시작>모든 프로그램>Python 2.7 메뉴를 통해 실행시키고 위와 같은 코드를 입력합니다. 위의 코드는 sys.path에 저장되어 있는 파이썬 경로들을 하나씩 출력하는 프로그램 입니다. sys.path는 import등의 구문에서 지정한 파이썬 라이브러리를 검색하는 경로들을 가지고 있는 오브젝트 입니다. 외부 라이브러리를 설치한다면 이들 경로중의 하나에 소스 코드와 컴파일한 오브젝트 코드가 위치 하게 됩니다.



import os

os.environ["PYTHONHOME"].split(os.pathsep)


위의 코드는 파이썬의 홈 디렉토리를 출력하는 코드입니다. 윈도우 시스템에 파이썬 패키지를 설치하면 "PYTHONHOME" 이라는 환경 변수에 설치 경로를 저장하므로 특정 시스템에 설치된 파이썬 환경을 확인하고 싶다면 위와 같은 코드를 통해서 파이썬 경로를 확인하면 됩니다.


"Python(command line)" 프로그램의 종료는 창을 닫거나 Ctrl+Z 엔터를 입력 합니다.





댓글
  • 프로필사진 eden 홈 디렉토리를 출력하는 코드를 입력했더니

    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "C:\Anaconda3\lib\os.py", line 675, in __getitem__
    raise KeyError(key) from None
    KeyError: 'PYTHONHOME'

    라고 뜨는데 뭐가 문제인지 여쭤볼 수 있을까요..ㅠㅠ
    python.exe가 저장되어 있는 경로는 컴퓨터의 시스템 환경 변수 - path 에 등록이 되어있어요.
    2020.08.14 11:00
  • 프로필사진 야라바 os.environ에 해당 경로가 없다는 것이므로 다시 확인해 보세요.
    콘솔 모드를 연 상태에서 환경 변수를 설정했다면 콘솔을 다고 다시 열어서 수행해 보시고.
    시스템에 파이썬이 여러 버전이 깔려 있다면 그 부분도 주의 하셔야 됩니다.
    PATH 경로는 실행 경로로 PYTHONHOME은 파이썬의 홈디렉토리이므로 따로 설정해 주셔야 합니다.
    2020.08.14 11:32 신고
댓글쓰기 폼