[Python] 가상 환경 활용하기 | 프로그래밍 비망록
이번 게시글에서는 간단하게 python 에서 가상 환경을 활용하는 방법에 대해서 정리해보고자 한다. 나는 일반적으로 프로그래밍을 할 때, 거의 무조건 가상환경을 사용하지만, 건망증이 심해서 가상 환경을 작성하는 방법을 잊어버리고는 다시 찾아보느냐 시간을 많이 소비하고는 했다. 그렇기에 다음부터 그대로 보고 복붙을 하기 위해서, 잊지 않기 위해서 비망록을 작성한다.
*필자는 프로그래밍에는 맥을 주로 이용하기에 환경은 맥을 기준으로 하고 있다.
목차
파이썬 가상 환경 작성 및 활성화,
파이썬의 가상 환경을 작성하는 법은 아주 간단하다. 여러 가지 옵션도 있지만 여기서는 아주 간단하게 바로 쓸 수 있는 명령어로 알아보도록 하자.
가상 환경 작성 및 활성화
파이썬의 표준 라이브러리인 venv 를 이용하면 된다.
원하는 폴더로 이동한 뒤, 아래의 명령어를 입력해주면 된다.
python -m venv <원하는 가상환경 폴더명>
그리고 가상 환경의 활성화는 아래의 명령어로 가능하다.
source <위에서 정한 폴더명>/bin/activate
참고) 윈도우는 다음의 명령어로 활성화한다고 한다.
<위에서 정한 폴더명>\Scripts\Activate.ps1
예시
나는 보통 아래의 명령어를 사용한다.
python -m venv env
source env/bin/activate
requirements.txt 활용
가상 환경을 이용하는 주된 목적인, requirements.txt 는 다음과 같은 명령어로 이용할 수 있다.
다음의 명령어로 requirements.txt 를 통해서 필요한 라이브러리를 설치한다.
pip install -r requirements.txt
다음의 명령어로 반대로 현재 이용중인 라이브러리를 바탕으로 requirements.txt 를 생성한다.
pip freeze > requirements.txt
여담
VSCode 터미널 가상 환경 자동 활성화
VSCode 를 이용하는 경우, 다음의 설정을 통해서 가상 환경 활성화를 자동화할 수 있다.
.vscode 내의 setting.json 에 다음의 내용을 기입한다.
"terminal.integrated.shellArgs.osx": ["-l", "-c", "source ${workspaceFolder}/venv/bin/activate"]
가상 환경을 사용하는 이유
리포지토리, 프로그램 등등 폴더별로 필요로 하는 라이브러리의 종류가 다르다. 물론 가상 환경 대신 컴퓨터 전체 환경에 설치해버리는 것도 가능하지만 특정 버전을 요구할 때에 전체적으로 버전을 맞춰주기가 힘들어질 수 가능성이 있다. 또한 비슷한 목적을 가진 라이브러리가 동시에 실행되면서 충돌하기도 하기 때문에 다양한 호환성의 문제도 발생할 수 있다.
이러한 문제들을 사전에 방지하고, 내가 만든 프로그램을 배포할 때에 어떤 라이브러리, 버전이 필요한지를 미리 명기해서 편리하게 배포하기 위해서라도 가상 환경을 활용해야 한다. 특히나 협업을 많이 하는 개발자, 다양한 프로그램을 만져본 풀스택엔지니어 등등이라면 공감할 수 있을 것이다.
맺음말
이번 게시글에서는 파이썬의 가상 환경에 대한 명령어를 간단하게 알아보고 여담에서 가상 환경을 사용하는 이유에 대해서 이야기해보았다. 프로그래밍을 할 때마다 지금 내용의 게시글을 작성해야지 작성해야지하고 마음만 먹고 잊어버리고 있다가 드디어 이렇게 작성할 수 있어서 기쁘다. 프로그래밍 꿈나무, 그리고 프로그래밍 현업자들에게 도움이 되기를 바라며 이만 글을 마친다.
밑에 공감 버튼 한 번씩 클릭 부탁드립니다!
내용에 관한 질문이나 의견이 있다면 댓글로 남겨주세요.
사진 구매: @Gehdtlr2547
Copyright 2024 KIN All rights reserved.
KIN
'정보, 기술 > 개발 모음' 카테고리의 다른 글
[토막글] MacOS Ventura 업데이트 후 error: invalid active developer path 해결법 (0) | 2022.11.14 |
---|---|
[Python] 리스트 이름 받아오기 (동적 할당, 참조 하는 법) | 파이썬 (0) | 2021.11.02 |
전자종이 디스플레이에 이미지 변환해서 표시하기 | 라즈베리파이 활용 (0) | 2021.08.22 |
전자잉크 디스플레이용 흑백적(RBW) 이미지 만들기 | 라즈베리파이 활용 (0) | 2021.08.22 |
전자 잉크 디스플레이 제어하는 방법 | 라즈베리파이 활용 (0) | 2021.08.03 |
댓글