1) 파이썬 가상환경
파이썬에서는 개발 프로젝트의 특성에 맞게 최적화된 개발환경을 따로 만들 수 있다. 이를 가상환경(virtual environment)이라고 부르는데, 가상환경은 "마치" 내가 마음대로 꾸밀 수 있는 하나의 공간(room)이 주어지는 것과 같다.
만약 어떤 방을 공부를 하기에 가장 알맞은 환경으로 만들고자 한다면, 아마 책상이 놓여져야 하고 책을 정리하는데 알맞은 크기의 책꽂이도 들여와야 할 것이다. 또 다른 어떤 방은 침실로 사용하고자 한다. 그렇다면, 침대랑 옷장 같은 가구를 들여와야 할 것이고, 조명도 너무 밝지 않게 하는 등 숙면을 취할 수 있도록 환경을 꾸밀 필요가 있겠다.
마찬가지로 새롭게 파이썬 개발 프로젝트(쉽게 얘기해서, 파이썬 코딩)를 진행하고자 한다면, 새로운 프로젝트의 진행에 알맞는 코딩 공간이 필요할 것이고, 그 공간에 그 프로젝트를 진행하는데 필요한 다양한 도구/장비/장치들을 들여와야 할 것이다.
파이썬 가상환경을 만드는 절차는 다음과 같다.
첫번째 단계로, 새로운 공간을 만든다.
먼저 탐색기를 이용하여 파이썬 설치 폴더를 찾아가 보자. 그 다음에, 탐색기의 주소창을 클릭한 다음 cmd (* command 라는 단어의 줄임말) 라고 타이핑한다. 그러면 검은색 배경 화면의 명령 프롬프트가 뜬다. 다음에 한번 설명할 기회가 이있겠지만, 현재로는 텍스트 기반의 운영체제라고 생각하면 됩니다.
명령 프롬프트에 python –m venv c:\pydev 라고 입력해 보자. 그러면 약간의 시간이 소요된 후에 프롬프트가 나타난다. 별 다른 에러 메시지가 안 나타나면, 파이썬 가상환경이 제대로 만들어진 것이다. 여기서 입력한 명령어는 c:\pydev 라는 폴더 이름으로 가상환경을 만들어라는 뜻이다. (당연히, 폴더의 경로와 이름은 여러분들 마음대로 해도 됩니다.)
이제 탐색기를 통해, 파이썬이 만들어 준 c:\pydev 라는 폴더를 찾아가 보자. 각자가 입력한 경로대로 폴더가 만들어져 있으며, 그 폴더에는 include, Lib, Scripts 라는 3개의 폴더와 pyvenv.cfg 라는 환경설정 파일이 기본으로 만들어져 있는 것을 확인할 수 있다.
이제 이 공간에 여러분들이 필요로 하는 여러 도구들을 들여올 수 있다.
두번째 단계로, 가상환경을 활성화합니다.
전 단계에서 공간 room을 만들었다. 파이썬 가상환경을 이용하기 위해서는 우선 가상환경을 활성화 activate 하는 과정이 필요하다. 마치, 만들어진 공간의 문을 열고 들어가는 과정으로 생각해도 좋겠다.
우선, 탐색기를 활용하여 가상환경 경로 아래의 Scripts 폴더에 들어가 보자. 그럼, 다음 그림과 같이 activate.bat 파일을 비롯한 10여개의 파일들을 볼 수 있다.
여기서 다시, 주소창에 cmd를 입력하여 명령 프롬프트를 실행한다. 쉘의 프롬프트는 현재의 폴더 위치가 c:\pydev\Scripts 임을 나타내고 있다. 프롬프트에 activate 라고 타이핑한다. 그러면, 현재 폴더에 있는 activate라는 이름의 배치파일 (배치파일은 실행파일이라고 전 페이지에서 얘기했다) 이 실행된다. # activate.bat 파일은 파이썬 가상환경을 활성화하는 명령어입니다.
가상환경이 활성화되면 명령 프롬프트의 모양이 약간 바뀌게 된다. c:로 시작하는 경로 앞에 우리가 만든 가상환경의 이름 (폴더 이름과 같음)이 괄호와 함께 나타난다. # 아래 그림에서 경로 앞에 붙어 있는 (pydev)를 확인해 봅니다.
세번째 단계로, 공간을 자기에게 가장 알맞게 커스토마이징 한다.
이제 정말로 우리 공간을 우리 작업의 목적에 적합하도록 꾸미는 과정을 진행해 보자. 가상환경 공간에 나에게 필요한 도구를 들여오기 위해서 pip 라는 애플리케이션을 사용한다. 우리가 전 페이지에서 확인했던 Scripts 폴더의 파일 이름들을 다시 한번 자세히 살펴보면, 우리가 이미 사용해 봤던 activate.bat 이외에 pip.exe 라는 실행화일이 있는 것을 확인할 수 있을 것이다.
가상환경 공간을 꾸밀 수 있는 여러 가지 도구들은 PyPI (Python Package Index) 라는 저장소에 공유되어 있다. 우리가 계속 장비 또는 장치들, 또는 도구 라고 부르지만 사실은 하나의 단위로 만들어진 파이썬 소프트웨어로서, 파이썬에서는 파이썬 모듈 module 또는 패키지 package 라고 부른다. 일단, 모듈은 하나의 파일이라고 생각하고 여러 개의 파일을 묶어서 패키지라고 부른다라고 알아두면 좋겠다. # 자세한 내용들은 차근차근 계속 살펴보겠습니다.
파이썬이 기본으로 제공하는 pip 라는 실행화일을 이용하여, PyPI 로부터 우리가 원하는 파이썬 모듈을 설치 install 하거나, 업그레이드 upgrade 하거나 삭제 uninstall 할 수 있다. 명령 프롬프트에서 pip 라고 입력하고 엔터키를 누르면 pip 명령어의 상세한 사용명세를 확인할 수 있다. 일부를 보이면 아래의 그림과 같다.
기본적으로 pip <command> [options] 형태로 사용된다.
2) ipython (대화형 파이썬 소프트웨어 개발도구)
우리의 가상환경에 첫 번째로 들여올 패키지는 ipython 이다. 대화형 파이썬 (interactive python)이라고 불린다. 우리가 이전 페이지에서 봤던 파이썬 쉘에 도스 DOS 기능 (파일 관리 기능) 이 보강되었다고 보면 되겠다. 기능적 장점 외에도, 파이썬 쉘에 비해 화면이 일목요연한 장점도 있다. 물론, 다음에 살펴 볼 주피터 노트북 Jupyter Notebook 의 커널로도 사용되고 있다.
[여기서 잠깐] DOS란? DOS는 Diskette Operating System으로 요즘의 Windows, Linux 운영체제처럼 그래픽 기반의 사용자 인터페이스와 달리 우리가 파이썬 공부를 하면서 보고 있는 명령 프롬프트와 같이 글자 text 기반으로 컴퓨터의 리소스 (특히, 파일) 관리를 하는 사용자 인터페이스를 말한다.
우리의 가상환경인 pydev에 ipython이라는 도구를 들여와 보자. 파이썬 명령 프롬프트에 pip install ipython 이라고 입력하고 엔터키를 누른다. 입력한 명령어의 의미는 이미 짐작했듯이, 패키지 설치를 관리하는 관리자 역할을 하는 pip에게 ipython을 install 하라는 명령어이다. # 참고로, 설치되어 있는 ipython을 삭제하는 경우에는 pip unistall ipyuthon 이라고 하고, ipython 의 새로우 버전이 만들어져서 ipython을 업그레이드 하고자 하는 경우에는 pip upgrade ipython이라고 입력하면 됩니다.
그러면 pip는 PyPI와 연결하여 ipython 패키지를 설치하는 데 필요한 작업들을 진행하게 된다. 에러없이 ipython이 설치된 경우, 명령 프롬프트에서 ipython을 입력하면 ipython을 실행하게 된다.
간단하게 In[1]로 표시된 프롬프트에 print(‘Hello’)를 입력해 보자.
Hello 라는 글자가 출력되고 파이썬은 사용자가 그 다음 명령어를 입력하길 기다린다는 의미로 In[2]라는 프롬프트를 보여 준다. 두 번째 명령어로 2+8 (2와 8을 더하라)을 입력했더니 파이썬이 Out[2]이라는 텍스트와 그 결과(10)를 보여주고 있다.
ipython 이외에도 유익한 패키지/모듈이 많이 있다. 앞으로, numpy, scipy, pandas, matplotlib, django, tkinter 등의 패키지들을 살펴보게 될 것이다.
DOS 운영체제가 익숙하지 않은 요즘 젊은 세대에게 까만색 배경으로 오로지 키보드 입력으로만 작동하는 쉘 소프트웨어는 익숙하지 않을 것이다. ipython의 대안으로 사용할 수 있는 패키지로 주피터 노프북 Jupyter Notebook 이라는 것이 있다. #주피터 노트북은 다음 글에서 자세히 살펴보도록 하겠습니다.
'파이썬 (python)' 카테고리의 다른 글
[python 6] 데이터와 연산 (0) | 2020.02.19 |
---|---|
[python 5] 데이터와 변수 (0) | 2020.02.19 |
[python 4] 모든 프로그램은 변수와 함수로 구성된다 (0) | 2020.02.15 |
[python 3] 주피터 노트북 Jupyter Notebook (0) | 2020.02.14 |
[python 1] 파이썬의 설치와 개발환경 갖추기 (0) | 2020.02.14 |