[Python] 가상환경을 이용한 개발환경 구축
Python 개발을 시작할 때, 프로젝트마다 다른 라이브러리와 Python 버전을 사용하는 경우가 많습니다.
이를 효과적으로 관리하기 위해 가상환경을 사용하는 것이 필수적입니다.
이번 포스팅에서는 Python 가상환경의 개념과 생성 방법, 그리고 활용 방법에 대해 다뤄보겠습니다.
1. 가상환경이란?
가상환경(Virtual Environment)은 특정 Python 프로젝트가 독립적인 실행 환경과 라이브러리를 사용할 수 있도록 격리된 공간을 제공합니다. 이는 아래와 같은 강력한 장점들을 선보입니다.
- 프로젝트별 의존성 충돌 방지
- 시스템 운영체제의 Python 환경과 독립적으로 관리
- 다양한 Python 버전 간의 유연한 전환
2. 가상환경 생성 및 사용법
Python 3.3 버전부터는 venv
모듈이 기본적으로 내장되어 있기 때문에, 별도의 설치 없이 사용하실 수 있습니다.
2-1. 가상환경 생성
가상환경을 생성하고자 하는 디렉토리로 이동하여 터미널에 아래 명령어를 입력합니다.
name
부분에는 원하는 가상환경 이름을 입력하시면 됩니다.
1
python -m venv {$ name}
2-2. 가상환경 활성화
가상환경 활성화 방법은 운영체제에 따라 약간의 차이가 있습니다.
- Windows
1
source {$ name}/Scripts/activate
- MacOS/Linux
1
source {$ name}/bin/activate
가상환경이 활성화되면, 터미널에 활성화된 가상환경 이름으로 프롬프트가 나타납니다.
2-3. 가상환경 비활성화
가상환경 비활성화는 아무 위치에서나 deactivate
명령어를 실행하면 됩니다.
1
deactivate
3. 가상환경에 라이브러리 설치
가상환경이 활성화된 상태에서 pip
명령어를 사용해 라이브러리를 설치하면, 해당 라이브러리는 활성화된 가상환경에만 설치됩니다. 이를 통해 여러 프로젝트의 의존성을 독립적으로 관리할 수 있습니다.
myenv
가상환경에django
라이브러리를 설치하는 예시1
(myenv) $ pip install django
가상환경에 설치된 라이브러리 목록은 pip list
또는 pip freeze
명령어로 확인하실 수 있습니다.
4. 가상환경 의존성 관리
공유 프로젝트를 진행할 때는 requirements.txt
파일로 의존성을 관리합니다.
requirements.txt
파일에 프로젝트 의존성이 있는 라이브러리를 저장하고, 설치할 수 있습니다.
4-1. 의존성 파일 생성
아래 명령어로 현재 가상환경에 설치된 라이브러리를 requirements.txt
파일로 저장합니다.
파일명은 자유롭게 사용하셔도 되지만, requirements.txt
가 가장 보편적입니다.
1
pip freeze > requirements.txt
4-2. 의존성 설치
다른 환경에서 동일한 라이브러리를 설치하려면 아래 명령어를 사용하시면 됩니다.
1
pip install -r requirements.txt
마무리
Python 가상환경은 프로젝트를 체계적으로 관리하고 의존성 문제를 해결하는 데 필수적인 도구입니다.
이번 포스팅을 참고하여 여러분의 개발 환경을 더 효율적으로 관리해보시길 바랍니다.
감사합니다.