1. 가상환경이란?
가상 환경은 시스템 Python 설치에 영향을 미치지 않고 패키지를 설치하고 코드를 실행할 수 있는 별도의 Python 환경이다. 이 기능은 패키지의 버전과 같이 종속성이 다른 여러 프로젝트를 작업하거나 다른 프로젝트에서 동일한 패키지의 다른 버전을 사용하려는 경우에 유용하다.
위와 같은 상황을 고려해보자. A 프로젝트는 1.0 버전의 C 패키지가 필요한 반면, B 프로젝트에서는 동일한 C 패키지의 2.0 버전이 필요하다. 하지만 글로벌 환경에 설치된 C 패키지의 버전은 1.0이고 C 패키지의 1.0 버전과 2.0 버전이 서로 호환되지 않을 경우 B 프로젝트는 호환성 문제가 발생한다.
이 경우 각 프로젝트에 대해 가상 환경을 사용하면 각 프로젝트에 대한 패키지 버전에 대한 종속성을 개별적으로 관리할 수 있다.가상 환경을 생성하면 Python 인터프리터의 복사본과 자체 Pip 패키지 관리자의 복사본이 포함된 새 디렉토리가 생성된다. 즉, 가상 환경에 패키지를 설치할 때, 패키지가 이 가상환경 디렉토리에 설치되고 시스템 Python에는 영향을 주지 않는다.
2. 가상 환경 구축하기
먼저 venv
모듈을 설치해야한다. venv
모듈은 파이썬 버전 3.3부터 파이썬 표준 라이브러리에 포함되어 있다. 이전 버전의 파이썬을 사용 중인 경우 수동으로 모듈을 설치해야한다.
이제 가상 환경을 생성해보자. 새 가상 환경을 생성하려면 터미널이나 명령 프롬프트에서 아래 스크립트를 실행한다.
python3 -m venv [가상 환경 이름]
이제 파이썬 인터프리터와 pip 패키지 관리자의 복사본을 포함하는 [가상 환경 이름]
이름의 새 디렉토리가 생길 것이다. 참고로 가상 환경 이름 앞에 .
을 붙이면 폴더를 파인더나 탐색기에서 나타나지 않게 할 수 있다.
2.1 가상 환경 활성화
현재는 가상 환경을 생성했을 뿐 아직 가상 환경을 작동시키지 않았다. 이제 가상 환경을 활성화하자. 사용자의 환경에 따라 명령어가 살짝 다르다.
- Windows:
가상 환경의Scripts
폴더에 있는activate.bat
을 실행해야 한다. 아래의 명령어로 실행할 수 있다.
[가상 환경 이름]\Scripts\activate.bat
- macOS:
가상 환경의bin
폴더에 있는activate
을 실행해야 한다. 아래의 명령어로 실행할 수 있다.
source [가상 환경 이름]/bin/activate
가상 환경이 활성화되면 터미널이나 프롬프트에서 가상 환경에서 작업 중임을 나타내는 가상 환경의 이름이 표시된다.
2.2 가상 환경 비활성화
가상 환경 비활성화는 Windows와 macOS 모두 아래의 명령어를 통해 할 수 있다.
deactivate
3. 가상 환경에서 패키지 설치
가상 환경을 활성화했다면 다른 외부 환경에 영향을 미치지 않고 패키지를 설치할 수 있다. pip 패키지 관리자를 사용하여 패키지를 설치해보자.
pip3 install numpy
이렇게 하면 numpy
패키지가 글로벌 파이썬 설치가 아닌 가상 환경에만 numpy
가 설치된다. 이 프로세스를 반복하여 각 프로젝트마다 필요한 다른 패키지들을 설치하고 관리할 수 있다. 가상 환경에서 설치한 패키지는 가상 환경을 비활성화할 경우 사용할 수 없다.
결론적으로 가상 환경은 Python에서 패키지 종속성을 관리하고 프로젝트와 다른 프로젝트 사이에서 발생하는 충돌을 방지하는 강력한 도구이다. 각 프로젝트에 대해 별도의 가상 환경을 생성하여 프로젝트를 서로 독립된 상태로 유지하고 패키지 종속성을 보다 쉽게 관리할 수 있다.
'머신 러닝 > Python' 카테고리의 다른 글
[ChatGPT] 파이썬으로 챗GPT 텔레그램 봇 직접 만들기 / ChatGPT Telegram Bot using Python (2) | 2023.03.28 |
---|---|
[KakaoTalk] 파이썬으로 카카오톡 메시지 봇 만들기 (5) | 2023.02.23 |
[Python] 예제를 통해 알아보는 파이썬 멀티프로세싱 / Multi-processing, pool (0) | 2023.02.19 |
[Python] pip 설치하기, Homebrew 설치하기 / Installing pip (pip, pip3) (0) | 2023.02.13 |
[Python] 파이썬3 설치하기, 파이썬 버전 확인 / Installing Python3 (0) | 2023.02.12 |