1. 가상환경은 왜 사용하는가?
python을 사용하다보면 프로젝트마다 다른 패키지와 패키지 버전을 사용해야 한다.
모든 프로젝트 마다 필요한 패키지가 있으며 이를 설치하기 위해 "pip install" 명령어를 사용하여 구성하게 되는데
이때 서로 다른 프로젝트에서 서로 겹치는 패키지가 있을 수 있고, 경우에 따라 서로 다른 버전이 필요한 경우가 많다.
이럴때 패키지가 충돌이 발생하게 되는데 버전별로 연관성 있는 패키지들도 꽤 있기 때문에 관리하기가 힘들어 진다.
이를 해결하기 위해 독립적인 가상환경을 구축하여 패키지 설치 (개발환경 세팅)에 있어 독립성을 가질 수 있게 된다.
2. 가상환경 생성 (venv 모듈 사용)
그렇다면 파이썬에서 독립적인 가상환경 구성을 위해 어떻게 구현해야 하는지 알아본다.
그에 대한 해답은 python에 기본 내장되어 있는 venv 모듈을 사용하는 것이다.
필자는 "C:\python_projects\venv" 디렉터리에 가상환경을 구성하는 예를 들어 보겠다.
탐색기에서 폴더를 생성후 아래의 그림과 같이 커맨드 창을 열고 해당 디렉터리 까지 진입한다
1) 가상환경 생성
아래의 명령어로 가상환경을 구성한다.
python -m venv 가상환경이름
필자는 예제로 [가상환경이름]을 first_project로 해보겠다. 엔터를 친 후 한 10초 후에 다음 프롬프트가 반응하였다.
탐색기를 통해 디렉터리를 살펴보면 C:\python_projects\venv\first_project 이하에 폴더 3개가 생겼으며, 그 안에 여러 파일도 생성되어 있으리라 예상 할 수 있다.
2) 가상환경 활성화 (활성화 해야 가상환경이 켜짐)
아래의 명령어로 가상환경을 켠다.
source 가상환경이름/Scripts/activate # Linux
가상환경이름/Scripts/activate.bat # Windows
위 명령을 실행 하기 전에 이하 디렉토리인 first_project\Scripts 폴더에 진입하여 파일이 무엇이 있는지 살펴보자
위에서 실행하고자 하는 activate 및 activate.bat 파일이 존재함을 알 수 있다. 그러면 실행 해보자
위 명령어는 Linux에서 적용되는 명령이다. 윈도우즈 환경에서는 activate.bat 파일을 실행시켜주면 된다.
위에서 미리 구성된 (가상환경이름)으로 시작되는 프롬프트로 바뀌었음을 알 수 있다. 이 상태가 되면 가상환경이 정상적으로 동작된다는 뜻이다.
여기서는 자세히 설명은 안하겠지만 vscode 환경이나 pycharm 같은 통합개발 환경툴을 사용하게 되면 인터프리터 환경을 프로젝트별로 설정할 수 있기 때문에 이렇게 일일이 activate 해서 사용하는 수고를 덜 수 있음을 참고하자
실제로 구글이나 네이버에서 통합개발 환경인 vscode나 pycharm과 가상환경 키워드를 조합하여 검색해보면 수많은 정보들을 통해 구현해 볼 수 있을 것이다.
만약 위에서 언급한 패키지를 설치를 한다면 이런 독립 환경에서 패키지를 설치하는 것이다.
테스트로 다음과 같이 패키지를 설치해 보겠다. pip install transformers
3) 가상환경 비활성화 (가상환경 끄기)
아래의 명령어로 가상환경을 끈다.
deactivate
deactivate 명령을 치면 바로 이전 프롬프트로 전환됨을 알 수 있다.
4) 설치된 패키지 리스트를 txt 파일로 변환하기
github에 가상환경 폴더를 ignore 하고 푸시하고 싶을 때 패키지 리스트를 txt 파일로 변환할 수 있다.
이는 각 가상환경에서 구성한 패키지를 백업한다는 개념으로 보면 된다.
그렇기 때문에 바로 위에서 설명한 deactivate 상태가 아닌 가상환경에 진입한 상태여야 한다.
pip freeze > requirements.txt
requirements.txt 안을 들여다 보면, 위에선 transformers 패키지 하나만 설치하였으나, 여러 패키지들이 같이 설치되었음을 알수 있다.
5) 변환된 txt 파일을 이용해 패키지 설치하기
텍스트로 변환해 둔 패키지 환경을 이용해 또다른 컴퓨터 환경이나 가상환경을 만들어 손쉽게 패키지를 재설치할 수 있다.
독립된 가상환경을 구성시 일일이 패키지를 다시 설치한다는 것은 비효율적인 일일 것이다.
어렵게 구성해놓은 독립 환경을 이같은 방식을 사용해 손쉽게 설치해 볼 수 있으니 반드시 알아두자
pip install -r 파일이름.txt
여기까지 가상환경에 대해 살펴보았다.
끝까지 읽어주어 감사합니다. ^^
'IT' 카테고리의 다른 글
Flask - 애플리케이션(메모앱) 만들어보기 #5 (0) | 2024.11.19 |
---|---|
Flask - 애플리케이션(메모앱) 만들어보기 #4 (1) | 2024.11.17 |
Flask - 애플리케이션(메모앱) 만들어보기 #3 (1) | 2024.11.17 |
Flask - 애플리케이션(메모앱) 만들어보기 #2 (3) | 2024.11.15 |
Flask - 애플리케이션(메모앱) 만들어보기 #1 (2) | 2024.11.14 |