[데이터 엔지니어링] Python 가상환경

Colacan·2022년 5월 13일
1

[데이터 엔지니어링]

목록 보기
11/12

가상환경

코드가 제대로 작동할 수 있는 환경 제공 (배포 환경에서도 환경이 똑같이 재현될 수 있도록 해줌)

파이썬 패키지

특정 기능과 관련된 모듈을 하나의 폴더안에 넣어놓은 것

  1. 파이썬 설치시 같이 설치되는 패키지를 파이썬 표준 라이브러리라 한다. (이 패키지를 system packages라고 부름)

  2. 표준 라이브러리가 아닌 경우 site packages라고 부름

  3. 패키지 설치원리 : 개발 당시에 작업했던 환경을 구현해서 문제를 줄인다. (한 패키지당 하나의 버전만이 설치된다)

  4. 파이썬 버전 확인

python --version
  1. 파이썬 패키지 목록 출력
pip list

파이썬 패키지 간 충돌

패키지 버전이 다른 두 어플리케이션의 경우 충돌이 일어남

  1. 의존성 충돌 : 사용할 패키지를 개발한 패키지 간에도 일어나는 충돌

  2. 파이썬 가상환경 : 충돌문제를 해결하기 위한 방법

  3. 충돌문제가 발생하는 부분
    1) WHERE : 패키지들이 저장되는 장소
    2) HOW : 패키지들이 저장되는 방법

패키지 충돌 (WHERE)

패키지들이 저장되는 장소로 인한 충돌

  1. system packages의 설치 위치
import sys
print(sys.prefix)
  1. site packages의 설치 위치
    site packages는 여러 디렉토리에서 패키지 관리하므로 리스트로 결과 나옴
import site
print(site.getsitepackages())

패키지 충돌 (HOW)

패키지 저장방법에 의한 충돌

  1. 위의 코드는 패키지의 버전 번호는 명시되어 있지않기에 버전 구별이 힘들다.

  2. 버전이 바뀌면 특정 기능들이 삭제, 변경 혹은 이동, 새로운 기능들이 추가

  3. 따라서 버전에 따라 작동이 안될 수도 있다.

  4. 따라서 프로젝트마다 가상환경을 만들어 관리 (파이썬 버전과 패키지 버전을 따로 보관)

profile
For DE, DA / There is no royal road to learning

0개의 댓글