0. 학습 목표

더보기

이번 학습에서는 Ubuntu에서 1)`venv`를 사용하여 Python 가상환경을 직접 생성하고, 2)활성화와 3)비활성화 과정을 실습합니다.

 

4)또한 시스템 Python과 가상환경 Python의 실행 경로를 비교하여,

가상환경이 실제로 어떻게 프로젝트별 독립 실행 환경을 구성하는지 확인합니다.

1. 가상환경 만들기

2. 가상환경 만들기

더보기

1단계: 테스트 폴더를 생성합니다.

터미널을 실행하고, 아래 명령어를 입력하고 파이썬 테스트 폴더를 생성합니다.

mkdir -p ~/Dev/Python
cd ~/Dev/Python

(투나 파일 탐색기에서 해당 경로에 실제 폴더가 생성된 것을 확인합니다.)

 

 

2단계: 가상환경 생성

현재 사용 중인 Python 버전을 기준으로 test_venv 폴더 안에, 독립된 Python 실행 환경과 패키지 설치 공간을 만듭니다.

python3 -m venv test_venv

가상환경은 새로운 Python을 다시 설치하는 것이 아니라, 

기본 Python을 기반으로, Python 작업에 필요한 환경을 복사하여, 별도의 작업 공간을 생성하는 방식입니다.

이 안에는 프로젝트에서 사용할 Python 실행 파일, pip, 패키지 설치 공간 등이 준비됩니다.

 

(참고) 문제가 있다면, 테스트 폴더 제거 후 처음부터 다시 시작합니다.

rm -rf ~/Dev/Python/test_venv
python3 -m venv ~/Dev/Python/test_venv

3.  가상환경 활성화하기

더보기

3단계: 가상환경 활성화

source test_venv/bin/activate

가상환경을 활성화하면,

현재 터미널은 전역 Python 대신 test_venv 내부의 python.exe와 pip.exe를 우선적으로 사용합니다.

프롬프트 앞에 (test_venv) 처럼 가상환경 이름이 붙으면 정상적으로 활성화된 상태입니다.

 

 

 

 

4단계: 가상환경 빠져나오기

deactivate

deactivate 명령을 입력하면 가상환경이 비활성화되고, 현재 터미널 세션은 다시 전역 Python 기준으로 돌아갑니다.

💡 학습 포인트 

Ubuntu에서는 기본 Python을 직접 건드리지 않고, 프로젝트마다 가상환경을 만들어 Python과 패키지를 따로 관리하는 습관이 중요합니다.

4.  시스템 Python vs 가상환경 Python 

더보기

4.1 비교 방법

 

시스템 Python 디렉토리 확인 방법

가상환경을 활성화하지 않은 상태에서 확인합니다.

Ubuntu에서는 Windows의 where 대신 which 명령을 사용합니다.

 
 

예시 결과:

/usr/bin/python3
/usr/bin/pip3
 

또는 Python 3.11을 별도로 설치한 방식에 따라 다음처럼 보일 수도 있습니다.

/usr/local/bin/python3.11

 

 

가상환경 Python 디렉토리 확인 방법

프로젝트 활성화 후 확인합니다.

Ubuntu에서는 Windows의 where 대신 which 명령을 사용합니다.

which python
which pip

 

예시 결과:

/home/사용자명/Dev/Python/test_venv/bin/python
/home/사용자명/Dev/Python/test_venv/bin/pip

 

즉, 같은 python 명령처럼 보여도 실제로는 시스템(전역) Python이 아니라 프로젝트 가상환경의 Python을 사용하고 있다는 뜻입니다.


이때 가상환경의
 bin 디렉터리가 PATH 환경변수의 앞쪽에 추가되므로, 같은 python 명령을 입력해도 전역 Python이 아니라 가상환경 내부 Python이 실행됩니다.

 

pip도 마찬가지입니다. `pip install`을 실행하면 전역 Python이 아니라 test_venv 가상환경 안에 패키지가 설치됩니다.

가상환경 활성화 전
→ /usr/bin/python3

가상환경 활성화 후
→ ~/Dev/Python/test_venv/bin/python

 

 

 

 

4.2 생성된 가상환경 폴더 비교

아래 명령어와 투나 파일 탐색기로 실제 디렉터리 구조를 확인해 봅니다.

구분 Ubuntu 예시
시스템 Python 실행 파일 /usr/bin/python3
시스템  pip 실행 파일 /usr/bin/pip3
시스템 패키지 위치 /usr/lib/python3/dist-packages
가상환경 Python 실행 파일 프로젝트경로/test_venv/bin/python
가상환경 pip 실행 파일 프로젝트경로/test_venv/bin/pip
가상환경 패키지 위치 프로젝트경로/test_venv/lib/python3.x/site-packages

 

보통 아래와 같은 요소를 볼 수 있습니다.

  • test_venv/bin : python, pip, activate 스크립트
  • test_venv/lib/python3.x/site-packages : 가상환경 전용 패키지 설치 위치
  • test_venv/pyvenv.cfg : 가상환경 설정 정보

전역 환경은 시스템 쪽 디렉터리에 있고, 

가상환경은 프로젝트 내부 디렉터리로 생성된다는 점을 직접 비교할 수 있습니다.