가상환경 – venv (virtual environment) 사용법

By | 9월 13, 2025
가상환경 - venv (virtual environment) 사용법

파이썬 개발에서 가상 환경(Virtual Environment)은 프로젝트마다 독립된 작업 공간을 구축하는 데 필수적인 도구입니다. 파이썬 3.3부터 기본 모듈로 제공되는 venv는 이러한 가상 환경을 손쉽게 생성하고 관리할 수 있게 해줍니다.


가상 환경을 사용하는 이유

가상 환경을 사용하면 다음과 같은 이점을 얻을 수 있습니다.

  • 종속성 충돌 방지: 여러 프로젝트를 동시에 진행할 때, 각 프로젝트가 필요로 하는 라이브러리의 버전이 다를 수 있습니다. 가상 환경은 프로젝트별로 독립된 패키지 설치 공간을 제공하여 전역 환경이나 다른 프로젝트와의 충돌을 막아줍니다.
  • 재현성 확보: requirements.txt 파일을 통해 특정 프로젝트에 사용된 모든 패키지와 그 버전을 명확히 기록할 수 있습니다. 이를 통해 다른 개발자가 동일한 환경을 쉽게 구성하거나, 미래에 프로젝트를 다시 시작할 때도 완벽하게 재현할 수 있습니다.
  • 체계적인 관리: 전역 파이썬 설치 공간에 불필요한 패키지가 쌓이는 것을 방지하고, 각 프로젝트에 필요한 패키지만 깔끔하게 관리할 수 있습니다.
  • 배포 효율성: 프로젝트 배포 시 필요한 최소한의 의존성만을 정확하게 파악하여, 불필요한 파일 없이 효율적인 배포가 가능합니다.

venv 사용법

venv는 파이썬 3.3 이상 버전에 기본적으로 포함되어 있어 별도의 설치가 필요 없습니다.

1. 프로젝트 디렉토리 준비

가상 환경을 생성할 프로젝트의 디렉토리로 이동합니다. 아직 디렉토리가 없다면 새로 만듭니다.

mkdir my_project
cd my_project

2. 가상 환경 생성

아래 명령어를 사용하여 가상 환경을 만듭니다. env_name 부분은 원하는 가상 환경 이름으로, 일반적으로 venvenv를 사용합니다.

python -m venv env_name

예시:

python -m venv venv  # 'venv'라는 이름의 가상 환경 생성

이 명령을 실행하면 현재 디렉토리 안에 venv라는 새로운 폴더가 생성되며, 이곳에 가상 환경의 모든 파일이 저장됩니다.

3. 가상 환경 활성화

생성된 가상 환경을 사용하려면 활성화 과정을 거쳐야 합니다. 운영체제에 따라 방법이 다릅니다.

  • Windows:
.\venv\Scripts\activate
  • macOS / Linux:
source venv/bin/activate

활성화가 완료되면 터미널 프롬프트 앞에 가상 환경 이름이 표시됩니다. (예: (venv) C:\my_project>)

4. 패키지 설치

가상 환경이 활성화된 상태에서 pip를 사용해 필요한 라이브러리를 설치하면, 이 패키지들은 전역 환경이 아닌 현재 가상 환경에만 설치됩니다.

pip install requests

설치된 패키지 목록은 pip list 명령으로 확인할 수 있습니다.

5. 의존성 목록 기록

프로젝트의 패키지 의존성을 다른 사람과 공유하거나 나중에 재설치하기 위해 requirements.txt 파일로 기록하는 것이 좋습니다.

pip freeze > requirements.txt

이 명령어는 현재 가상 환경에 설치된 모든 패키지와 버전을 파일에 기록합니다.

6. 의존성 일괄 설치

requirements.txt 파일이 있다면, 다른 환경에서 아래 명령어를 사용해 모든 패키지를 한 번에 설치할 수 있습니다.

pip install -r requirements.txt

파이썬 패키지 관리 자세히 알아보기

7. 가상 환경 비활성화

가상 환경 사용을 마치려면 비활성화해야 합니다.

deactivate

이 명령을 실행하면 터미널 프롬프트에서 가상 환경 이름이 사라지고 전역 환경으로 돌아갑니다.


venv 사용 시 유용한 팁

  • .gitignore 활용: 가상 환경 디렉토리(venv/ 등)는 Git 저장소에 포함시키지 않도록 .gitignore 파일에 추가합니다. 가상 환경은 requirements.txt를 통해 언제든 다시 만들 수 있기 때문입니다.
# .gitignore 예시 
venv/ 
*.pyc 
__pycache__/
  • IDE 연동: VS Code나 PyCharm과 같은 대부분의 IDE는 venv를 지원합니다. 프로젝트를 열 때 IDE가 가상 환경을 자동으로 인식하거나, 설정에서 직접 지정할 수 있습니다.
  • 파이썬 버전 관리: venv는 특정 파이썬 버전 기반의 가상 환경을 생성합니다. 만약 여러 파이썬 버전을 관리해야 한다면 pyenvconda와 같은 별도의 도구를 함께 사용해 파이썬 버전 자체를 관리하는 것이 좋습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다