[PYTHON] 가상환경 설정
파이썬을 다루다보면 다양한 패키지들을 사용하게 된다.
그렇게 pip3 install {패키지명}
을 무분별하게 사용하다보면, 로컬에 있는 다른 프로젝트 간 패키지 버전 충돌을 걱정할 수 밖에 없어진다.
이 때, ‘venv’라는 파이썬 모듈을 통해 패키지 환경을 분리할 수 있다.
현재 설치되어있는 패키지 목록 확인
pip3 list
가상환경 생성
python -m venv myenv
venv
라는 모듈
을 사용하겠다는 의미
myenv
는 사용자 임의의 가상환경 별칭
가상환경 활성화
source myenv/bin/activate
다시 패키지 목록 확인(pip list
)하게되면 해당 환경에는 아무런 패키지가 없는 깨끗한 환경임을 확인할 수 있다.
VS Code에서 가상환경 사용하기
위의 명령으로인해 가상환경이 “활성화”되긴 했지만, 이것은 터미널에서만 준비가 된 상태. (VS Code 터미널 맨 앞에 가상환경 명이 표시되더라도 터미널 명령이 아닌 VS Code 자체의 인터프리터는 아직 가상환경의 파이썬버전 및 인터프리터가 동일하지 않은 상태)
즉, VS Code도 가상환경과 동일한 환경(버전 및 패키지)으로 설정 되어야하는데, 이때의 방법이 바로
- VS Code 하단의 파이썬 버전정보 클릭 → 생성한 가상환경 이름 클릭
- 혹은
ctrl + shift + p
를 눌렀을때 표시되는 input box에서 “python select Interpreter” 라고 입력 후 인터프리터 선택
→ VS Code 환경, 가상환경 동기화 완료
이것은 앞서 설명한 가상환경 활성화 작업과의 순서는 상관없지만 별개로 꼭 필요한 작업
하단의 버전정보를 클릭하여 설정하는 방법과는 별개로 가상환경 생성 직후 뜨는 알림창을 통해 바로 가상환경과 동일하게 설정할 수 있다.
파이썬 패키지 설치
pip3 install {패키지명}
가상환경에서 설치된 패키지 목록 ‘백업’ 혹은 ‘다른 가상환경에서 재사용’ 방법
-
pip3 freeze
설치된 패키지 명과 버전정보가 아래와 같이 출력됨 -
위에서 출력된 결과를 파일에 담기
pip3 freeze > requirements.txt
-
이렇게 생성된 파일(
requirements.txt
)을 통해 다른 가상환경에서 동일한 패키지목록을 다운로드할 수 있다.
pip3 install -r requirements.txt
가상환경 비활성화
deactivate
가상환경 삭제
생성된 가상환경 폴더(여기서는 myenv)를 지워주기만 하면 끝. 우클릭하여 delete
혹은 rm -rf myenv
처음에 가상환경을 설치할 때는 아무 패키지가 없는 ‘백지’와 같다. 가상환경을 생성할 때 로컬에 있는 패키지 정보를 그대로 가상환경까지 가져가고 싶을때의 방법은 다음과 같다.
시스템 내 패키지 목록과 동일한 가상환경 생성
python3 -m venv myenv --system-site-packages
이후 pip3 list
를 하게되면 가상환경에 설치된 패키지 목록이 로컬시스템 패키지와 동일한 것을 확인할 수 있다.
가상환경에만 따로 설치되어있는 패키지목록을 보고싶을 때
pip3 list --local
로 확인할 수 있다.
Leave a comment