개발 환경, 왜 가상으로 만들어야 할까?
"그냥 파이썬 깔고 쓰면 되는 거 아냐?" 라고 생각하셨다면,
아직 진짜 개발자의 세계를 모르는 겁니다! 😎
파이썬을 쓰다 보면 패키지 충돌이 일어나거나, 특정 프로젝트에만 필요한 패키지가 따로 있을 때가 있어요.
그럴 때 venv(가상 환경) 를 사용하면?
각각의 프로젝트마다 독립적인 환경을 만들 수 있어서 충돌 없이 깔끔하게 개발 가능!
오늘은 venv의 개념부터 설치, 사용법까지 싹 정리 해드릴 테니까 끝까지 읽어보셔야 합니다! 🧐
1. venv가 뭔데? 🤔
venv는 Python에서 기본으로 제공하는 가상 환경 생성 도구입니다.
쉽게 말해, 각 프로젝트마다 별도의 Python 환경을 만들고 관리할 수 있는 기능이에요!
예를 들어, A 프로젝트에서는 Django 4.0
을 쓰고, B 프로젝트에서는 Django 3.2
를 써야 한다면?
그냥 한 컴퓨터에 다 깔아버리면 버전 충돌이 나서 난리가 납니다. 😵
이럴 때 venv로 각각의 프로젝트에 맞는 환경을 따로 만들어주면 문제가 싹 해결된다는 거죠!
2. venv 설치, 어렵지 않아요! 🏗️
💡 기본적으로 Python 3.3 이상 버전에는 venv가 내장되어 있습니다!
그래도 혹시 안 깔려 있다면, 아래 명령어로 설치하세요.
pip install virtualenv
그리고 venv로 가상 환경을 만들려면? 아주 간단합니다!
📌 윈도우에서
python -m venv my_env
📌 맥 & 리눅스에서
python3 -m venv my_env
이제 my_env라는 이름의 폴더가 생성되면서 가상 환경이 만들어졌어요! 🎉
3. 가상 환경 활성화 & 비활성화 🚀
가상 환경을 만들었으면 활성화(켜기) 해야 합니다!
OS별로 다르니 아래 방법을 참고하세요.
📌 윈도우에서 활성화
my_env\Scripts\activate
(참고: cmd에서는 위 명령어를, PowerShell에서는 my_env\Scripts\Activate.ps1을 사용하세요.)
📌 맥 & 리눅스에서 활성화
source my_env/bin/activate
활성화가 되면 (my_env) 같은 표시가 나옵니다.
이제 이 상태에서 필요한 패키지를 자유롭게 설치할 수 있어요! 🔥
🛑 가상 환경을 끄려면?
deactivate
4. 패키지 설치 & 관리 🛠️
가상 환경을 만들었으면, 그 안에서 패키지를 설치해 봐야겠죠?
예를 들어, requests 패키지를 설치하고 싶다면?
pip install requests
이제 가상 환경 내부에서만 requests를 사용할 수 있어요!
다른 프로젝트에는 영향을 주지 않으니 충돌 없이 깔끔하게 관리 가능하다는 거~ 😎
그리고 설치한 패키지를 한눈에 보고 싶다면?
pip list
이 명령어로 확인 가능합니다!
5. 패키지 목록 저장 & 복원하기 📝
팀 프로젝트에서 같은 환경을 공유해야 할 때는 어떻게 할까요?
패키지 목록을 .txt 파일로 저장하고, 이걸 다른 개발자가 불러오면 됩니다!
📌 패키지 목록 저장하기
pip freeze > requirements.txt
이제 requirements.txt 파일이 생성되었을 거예요.
이 파일을 다른 개발자가 사용하면, 똑같은 패키지 환경을 재현 가능!
📌 패키지 목록 불러오기
pip install -r requirements.txt
이 명령어를 실행하면 requirements.txt에 있는 패키지가 한 번에 설치됩니다! 🚀
6. 가상 환경 삭제? 이렇게 하면 됩니다! 🗑️
가끔 가상 환경을 정리하고 싶을 때가 있죠?
그럴 땐 그냥 폴더를 삭제하면 끝!
rm -rf my_env # (Mac & Linux)
rmdir /s /q my_env # (Windows)
하지만 이전 환경을 깔끔하게 지우고 다시 세팅하려면 pip uninstall 명령어로 패키지 삭제 후 진행하는 게 좋습니다.
자주 묻는 질문! 🔍
❓ 가상 환경을 꼭 써야 하나요?
👉 필수는 아니지만, 안 쓰면 나중에 후회합니다!
패키지 충돌 문제를 방지하고, 프로젝트별 독립적인 환경을 유지하려면 venv를 쓰는 게 훨씬 깔끔합니다.
❓ 가상 환경을 프로젝트마다 만들어야 하나요?
👉 네! 프로젝트마다 필요한 패키지와 버전이 다를 수 있기 때문에 각 프로젝트별로 가상 환경을 따로 만드는 게 베스트입니다.
❓ venv랑 virtualenv 차이가 뭔가요?
👉 venv
는 Python 내장 기능이고, virtualenv
는 별도로 설치해야 하는 패키지입니다.
최근에는 venv
만으로도 충분해서, 새로운 프로젝트에서는 그냥 venv를 쓰는 게 좋습니다!
venv, 안 쓰면 나중에 후회합니다! 😎
개발할 때 패키지 충돌로 고생하고 싶지 않다면?
지금 당장 venv를 써야 합니다!
특히 여러 프로젝트를 동시에 진행하는 분들이라면 가상 환경 필수예요!
이제부터는 venv로 깔끔하게 프로젝트 관리하시고,
더 이상 패키지 충돌로 스트레스받지 마세요! 🚀
여러분의 생각은? 🤔
여러분도 venv 사용해보셨나요?
혹시 사용하면서 궁금한 점 있으면 댓글로 남겨주세요!
함께 공유하고 배우면서 더 편한 개발 환경을 만들어 봅시다! 😆