가상 환경(Virtual Environments)이란, 독립적인 파이썬의 실행 환경을 의미합니다.
파이썬으로 다양한 라이브러리를 작성하다 보면, 여러 가상환경의 생성이 필수라 할 수 있습니다.
이유는 많지만 대표적인 이유는 다음과 같습니다.
1. 가상환경을 미리 만들어서 사용자가 프로젝트에 사용할 패키지들만 설치해야 할 필요가 있기 때문입니다.
2. 시간이 지남에 따라 패키지들도 업데이트가 되는데 호환성 문제를 위해서, 한 프로젝트에서 사용하는 패키지들의 버전들을 한 번에 관리하기 위해서 사용합니다.
즉, 이를 요약하자면 다음과 같습니다.
이처럼 가상환경(Virtual Environments)이란, 자신이 원하는 Python 환경을 구축하기 위해 필요한 모듈들만 담아 놓을 수 있는 환경이라고 생각하면 됩니다.
위의 그림처럼 각 가상환경들은(virtualenv A, B, C) 독립적으로 관리됩니다.
또한 프로젝트 마다 별개의 가상환경을 만들어놓고 사용하는 것이 권장됩니다.
저는 이제, 에디터 Pycharm에서 가상환경을 한 번 세팅해보도록 하겠습니다. (Mac 기준)
Pycharm에서 프로젝트를 하나 열고
Preferences > Project > Python Interpreter를 차례로 클릭합니다.
위와 같은 화면이 나오는데요,
Python Interpreter 맨 오른쪽에 톱니바퀴와 같은 생긴 버튼을 클릭을 하고, add를 누릅니다.
누르면 다음과 같은 화면이 나옵니다.
여기서 New environment를 선택하고,
Location에서 저는
제 "루트 디렉토리/venv" 로 위치를 잡았습니다.
그리고 OK를 누르면 끝입니다.
가장 기본적인 패키지들만 설치됩니다.
보시면 venv 폴더가 생긴 것을 확인할 수 있습니다.
이제 이 가상환경 속으로 진입해보겠습니다.
Mac에서 가상환경 진입 명령어는 다음과 같습니다.
source venv/bin/activate
추가로 반대의 명령어는 다음과 같습니다.
deactivate
예시로 Django를 설치한 이후에
pip freeze > requirements.txt
다음의 명령어로 requirements.txt 의 생성이 가능합니다.
이 명령을 실행하면 현재의 모든 패키지들을 버전 정보까지 함께 알아서 정리해줍니다.
참고로, 이 requirements.txt에 있는 패키지와 해당 패키지의 버전에 맞게 이를 설치해주려면 다음 명령어를 실행하면 됩니다.
pip install -r requirements.txt
[reference]
[이미지 reference]