Python 프로젝트를 진행할 때 가상환경(Virtual Environment)을 사용하면 프로젝트별로 독립적인 패키지 관리가 가능합니다.
이번에는 Ubuntu 환경에서 Python 가상환경을 생성하고, 필요한 라이브러리를 설치하는 과정을 정리해보겠습니다.
** 들어가기 앞서 : 독립적인 패키지 관리 하는 이유
왜 Python 가상환경(Virtual Environment)이 필요할까?
Ubuntu와 같은 Linux 운영체제는 내부적으로 System Python이라는 기본 Python 환경을 사용합니다.
이 System Python은 운영체제의 여러 기능과 패키지 관리 도구가 의존하고 있기 때문에 임의로 수정하거나 패키지를 마구 설치하면 시스템 전체에 영향을 줄 수 있습니다.
System Python 사용 예시
- apt 패키지 관리자
- Ubuntu 시스템 스크립트
- 운영체제 내부 관리 도구
만약 프로젝트 개발 중 필요한 라이브러리를 System Python에 직접 설치하게 되면 버전 충돌이 발생할 수 있습니다.
예를 들어,
- 프로젝트 A는 PySide6 6.11 버전 필요
- 프로젝트 B는 PySide6 최신 버전 필요
- 운영체제는 특정 Python 버전을 기준으로 동작
이런 상황에서 하나의 Python 환경만 사용하면 패키지 버전이 서로 충돌하면서 프로젝트 실행 오류가 발생할 수 있습니다.
그래서 사용하는 것이 가상환경(Virtual Environment)입니다.
가상환경은 프로젝트마다 독립적인 Python 공간을 만들어주는 기능입니다.
System Python (운영체제용)
└── 건드리지 않음
Project_A
└── .venv
└── PySide6 6.11
Project_B
└── .venv
└── Flask 최신버전
즉, 프로젝트마다 필요한 라이브러리를 따로 설치할 수 있어서 서로 영향을 주지 않습니다.
또한 개발 환경을 팀원과 동일하게 맞추기 쉬워지고, requirements.txt 파일을 통해 같은 환경을 빠르게 재현할 수 있다는 장점도 있습니다.
정리하면 가상환경을 사용하는 이유는 다음과 같습니다.
- 운영체제 기본 Python 보호
- 프로젝트별 패키지 충돌 방지
- Python 버전 독립 관리
- 팀 프로젝트 환경 통일
- 배포 및 재설치 편의성 향상
1. 프로젝트 폴더 생성
mkdir -p ~/Dev/Project_New
설명mkdir : 폴더 생성 명령어-p : 상위 폴더가 없어도 함께 생성
2. 프로젝트 폴더로 이동
cd ~/Dev/Project_New
현재 위치 확인:
pwd
예상 출력:
/home/joy/Dev/Project_New
3. Python 가상환경 생성
python3.13 -m venv .venv
설명python3.13 : 사용할 Python 버전 지정-m venv : 가상환경 생성 모듈 실행.venv : 가상환경 폴더명
생성 후 프로젝트 내부에 숨김 폴더 형태로 저장됩니다.
Project_New/
└── .venv/
4. 가상환경 활성화
source .venv/bin/activate
성공 시 터미널 앞에 가상환경 이름이 표시됩니다.
(.venv) joy@joy-DT281:~/Dev/Project_New$
5. Python 버전 확인
python --version
출력 예시:
Python 3.13.13
6. 필요한 라이브러리 설치
이번 프로젝트에서 설치한 패키지는 다음과 같습니다.
- PySide6
- mysql-connector-python
python -m pip install PySide6 mysql-connector-python
설치 완료 후 아래와 같은 메시지가 출력되면 정상 설치입니다.
Successfully installed
7. requirements.txt 생성
현재 설치된 패키지 목록을 저장합니다.
python -m pip freeze > requirements.txt
requirements.txt 파일을 통해 다른 환경에서도 동일한 패키지 구성을 재현할 수 있습니다.
8. requirements.txt 기반 패키지 설치
python -m pip install -r requirements.txt
-r 옵션은 requirements 파일을 읽어 설치하겠다는 의미입니다.
9. 프로젝트 기본 파일 생성
touch main.py
touch database.py
touch window.py
생성되는 파일:
main.py
database.py
window.py
10. 설치된 패키지 확인
ls .venv/lib/python3.13/site-packages
예시 출력:
PySide6
mysql
pip
shiboken6
site-packages는 설치된 Python 라이브러리가 저장되는 위치입니다.
최종 프로젝트 구조
Project_New/
├── .venv/
├── main.py
├── database.py
├── window.py
└── requirements.txt
정리
- 프로젝트 폴더 생성
- Python 가상환경 생성
- 가상환경 활성화
- Python 버전 확인
- 라이브러리 설치
- requirements.txt 생성
- 패키지 재설치 테스트
- 기본 프로젝트 파일 구성
이렇게 구성하면 프로젝트마다 독립적인 Python 개발 환경을 만들 수 있어 패키지 충돌 없이 안정적으로 개발할 수 있습니다.
'개발일지 > 환경설정 (시스템)' 카테고리의 다른 글
| MySQL Workbench 설치하기 (0) | 2026.05.22 |
|---|---|
| Docker 시스템 패키지 설치 // Root 권한 (0) | 2026.05.07 |
