코딩 초보의 정리글입니다. 0편부터 보세요.
파이썬을 설치했다. 가상 환경을 만들자.
가상환경?
간단하게 생각하자. 문서 하나가 있다고 가정하자. 당신의 일은 그 문서를 수정해 보다 더 좋게 가다듬는 일이다. 워드 프로세서로 그 글을 열고 열심히 수정을 했는데, 도중에 실수로 한 문단을 통째로 날려먹었다는 사실을 나중에나 알게됐다. 되돌리기도 불가능하고 원래 어떤 내용이 적혀있었는지도 모르겠다. 수정한 작업도 나중에 보니 엉망진창이라, 그냥 처음부터 다시 하는게 나을 것 같다. 원문을 처음부터 백업해놓지 않았다면 큰일이 날 것이다.
프로그램도 마찬가지다. 앞으로 파이썬에 많은 패키지를 더 설치할 것이다. 문제를 해결하기 위해 열심히 구글링을 할 것이고, 어떤 이름모를 (상대적) 천재가 제시한 해결책을 시도할 것이다. 다만 당신은 그 해결책이 가지고 있는 의미를 정확히 모르고 복사 및 붙여넣기를 할 것이며, 그 해결책이 잘못됐을 경우 초래할 결과를 책임질 수 없다.
컴퓨터에 에러가 났을 때 껐다 켜보는 것처럼, 프로그램도 그럴 필요가 있다. 원본을 두고, 복사본을 떠서 쓰다가, 문제가 생기면 다시 원본으로 새 복사본을 만들어 쓰는 것이다.
가상 환경이 없다면 설치한 파이썬 자체에 문제가 생길 것이고, '껐다 켜기' 위해서는 파이썬을 완벽하게 지우고 다시 설치해야 할 것이다. 그것보단 복사본을 떠놓는 게 낫다. 다만 파이썬 프로그램을 복사 및 붙여넣기 하지는 않는다. 가상 환경이라는 걸 만들어야 한다.
venv
파이썬 가상환경에는 여러가지가 있지만, 이 글은 언제나 가장 간단한 방법을 택한다. venv를 사용한다.
우선 자신이 놀 공간을 정한다. 하드디스크 내의 특정 폴더다. 보통 파일을 바탕화면에 넣는 걸 가장 좋아한다. 하지만 바탕화면은 추천 장소가 아니다. 윈도 운영체제를 설치한뒤 자신의 계정을 만드는데, 해당 이용자의 폴더가 존재한다. 선호하는 장소가 없다면 그곳을 쓰자. 자신의 커맨드 셸에서
cd ~/
를 입력하면 해당 폴더로 이동한다.
가상환경을 저장할 폴더를 만들자. 가상환경은 상황에 따라 여러개를 만들수 있으니, 부모 폴더를 먼저 만들자.
mkdir <만들고 싶은 부모 폴더명>
cd <만들어진 부모 폴더명>
가상환경은 다음과 같은 명령어로 만든다.
python -m venv <만들고 싶은 가상환경 폴더명>
'-m' 옵션은 파이썬 내의 venv라는 모듈을 실행하라는 의미다.
가상환경은 아래 명령어로 실행한다(윈도 기준). 위 명령어를 실행한 상태에서 이어진다.
<자신이 만든 가상환경 폴더명>\Scripts\activate
그러면 커맨드에 자신이 만든 폴더 이름이 추가될 것이다. 가상환경에 진입했다.
가상 환경을 끝내려면 deactivate
를 치면 된다. 셸을 종료해도 가상 환경은 자동 종료된다.
나중에 에러가 나는 등의 이유로 가상 환경을 없애려면, 종료한 상태에서 자신이 만든 가상 환경 폴더를 지우면 된다. 가상 환경과 코딩을 하는 폴더는 다르게 두는 게 좋으니 그냥 지우면 된다.
그럼 가상환경을 실행할 때마다 저 경로를 찾아서 activate
를 실행시켜야 하나? 맞다. 그게 귀찮은 이들은 배치 파일이나 커맨드 실행파일을 만들거나, 프로파일을 편집해 명령어를 창조할 수도 있겠다. 어렵진 않지만, 편한 방법을 너무 찾다보면 가상 환경이 뭐였는지도 까먹게 된다. 충분히 익숙해지고 나면 편한 방법을 찾아보자. 어차피 에디터를 쓰면 직접 가상환경 진입할 일도 많지 않게 된다.
이 다음엔? 2번째 편까지도 파이썬 자체를 써보질 못했다. 일단 실행해서 무엇에 쓰는 건지 보자.
'취미코딩 > hobby' 카테고리의 다른 글
파이썬으로 업무 자동화까지 <8> requests 3 (2) | 2020.12.19 |
---|---|
파이썬으로 업무 자동화까지 <7> requests 2 (0) | 2020.12.14 |
파이썬으로 업무 자동화까지 <6> requests 1 (0) | 2020.12.14 |
파이썬으로 업무 자동화까지 <5> HTTP (0) | 2020.12.11 |
파이썬으로 업무 자동화까지 <4> PIP (0) | 2020.12.10 |
파이썬으로 업무 자동화까지 <3> 에디터 (0) | 2020.12.09 |
파이썬으로 업무 자동화까지 <2> 재미 느끼기 (0) | 2020.12.09 |
파이썬으로 업무 자동화까지 <0> Just Do It. (0) | 2020.12.09 |