youngfromnowhere
[Python] 가상환경 본문
예전에 한창 django를 배워보겠다고 할 때 Python 가상환경을 활성화 시켜본 적이 있었는데
몇 달 지나니 다 까먹었다.
이번에 다시 한 번 정리해본다.
- 가상환경을 사용하는 이유.
Python으로 개발할때 가상환경을 사용하는 이유는 해당 프로젝트에서 사용하는 외부 패키지의 버전 호환성 문제 때문이다. 가령 한 PC에서 프로젝트 A를 진행할 땐 패키지 X의 1.5 버전을 사용하고 프로젝트 B에는 같은 패키지의 2.0 버전을 사용했는데, 두 버전이 호환되지 않으면 프로젝트를 전환할 때마다 버전 upgrade와 downgrade를 반복해야 할 것이다. 따라서 프로젝트 별로 외부 패키지가 일관되게 적용되도록 가상환경을 설정하여 그 곳에 패키지를 설치한다.
- 가상환경 설정 방법
Project를 진행할 directory에서 다음 명령어를 실행한다. (OS : WSL2 Ubuntu)
$ python3 -m venv [venv name] #name of virtual environment directory
가상환경이 설치되면 project directory 안에 [venv name]으로 전달한 이름을 가진 directory가 생성되고, 그 안에 bin/ include/ lib/ 등의 파일이 생성된다. 가령 venv name을 myenv로 설정했다고 하자.
가상환경을 활성화 시키려면 myenv/ directory 에서 다음 명령어를 실행한다.
$ source ./bin/activate
가상환경이 활성화 되면 command-line 왼쪽에 가상환경 directory의 이름이 표시된다.

비활성화 명령어는 deactivate이다.
가상환경을 설정하고 활성화시킨 뒤에 pip로 외부 패키지를 설치하고 프로젝트를 진행하면 된다.
Python의 package file들은 python 설치 directory의 'site-packages'에 저장된다. 다음 스크립트로 가상환경이 활성화 되었을때와 비활성화 되었을때 'site-packages'파일의 경로 차이를 확인할 수 있다.
import sys
print(sys.path)

'Python' 카테고리의 다른 글
| [Python] python의 special methods (0) | 2022.11.17 |
|---|---|
| [Python] Decorator3. Property (0) | 2022.11.16 |
| [Python] Decorator 2. abstractmethod() (0) | 2022.11.15 |
| [Python] Decorator (0) | 2022.11.07 |
| [Python] Python의 Method Call (0) | 2022.10.31 |