코드가 제대로 작동할 수 있는 환경 제공 (배포 환경에서도 환경이 똑같이 재현될 수 있도록 해줌)
특정 기능과 관련된 모듈을 하나의 폴더안에 넣어놓은 것
파이썬 설치시 같이 설치되는 패키지를 파이썬 표준 라이브러리라 한다. (이 패키지를 system packages라고 부름)
표준 라이브러리가 아닌 경우 site packages라고 부름
패키지 설치원리 : 개발 당시에 작업했던 환경을 구현해서 문제를 줄인다. (한 패키지당 하나의 버전만이 설치된다)
파이썬 버전 확인
python --version
pip list
패키지 버전이 다른 두 어플리케이션의 경우 충돌이 일어남
의존성 충돌 : 사용할 패키지를 개발한 패키지 간에도 일어나는 충돌
파이썬 가상환경 : 충돌문제를 해결하기 위한 방법
충돌문제가 발생하는 부분
1) WHERE : 패키지들이 저장되는 장소
2) HOW : 패키지들이 저장되는 방법
패키지들이 저장되는 장소로 인한 충돌
import sys
print(sys.prefix)
import site
print(site.getsitepackages())
패키지 저장방법에 의한 충돌
위의 코드는 패키지의 버전 번호는 명시되어 있지않기에 버전 구별이 힘들다.
버전이 바뀌면 특정 기능들이 삭제, 변경 혹은 이동, 새로운 기능들이 추가
따라서 버전에 따라 작동이 안될 수도 있다.
따라서 프로젝트마다 가상환경을 만들어 관리 (파이썬 버전과 패키지 버전을 따로 보관)