본문 바로가기
컴퓨터 활용/노년에 즐기는 코딩

[Django] 의존성 패키지 설치에 관하여

by easyfly 2025. 8. 7.
반응형

 

패키지 설치 중에 의존성이 있는 패키지는 PIP가 스스로 알아서 같이 설치를 합니다. 전자책을 만드는데 필요한 패키지 'ebooklib'를 설치함에 'six'와 'lxml'이 같이 설치되는 이유입니다.

🔍 이걸 "의존성(Dependency)"이라고 합니다.

어떤 패키지 A가 제대로 작동하려면
다른 패키지 B, C가 필요하다면
A는 B, C에 의존한다고 말합니다.


📌 예시: ebooklib 설치 과정

Successfully installed ebooklib-0.19 lxml-6.0.0 six-1.17.0

▶️ ebooklib가 설치되면서 자동으로 설치된 의존성:

패키지 역할
lxml HTML/XML을 다루는 고성능 파서 (ebooklib 내부에서 사용됨)
six Python 2/3 호환을 위한 도우미 라이브러리

즉, ebooklib을 설치하려고 했지만,
lxml, six까지 함께 설치된 것은
ebooklib이 이 두 패키지를 내부적으로 사용하기 때문입니다.


✅ pip가 자동으로 해주는 일

  • 의존성이 있는 패키지를 자동으로 설치
  • 이미 설치된 경우 버전이 호환되는지 확인
  • 버전 충돌이 있으면 경고 또는 오류 표시

📁 실제 저장 위치

모든 설치된 패키지는 다음 경로에 들어갑니다:

.../venv/lib/pythonX.X/site-packages/

예: 'oukwon/venv/lib/python3.11/site-packages/'

이 안에 ebooklib/, lxml/, six.py 등이 들어 있게 됩니다.


📌 요약정리

질문 답변
패키지 설치 시 의존성도 같이 설치되나요? ✅ 예, 자동으로 함께 설치됩니다.
수동으로 따로 설치해야 하나요? ❌ 아니요, pip이 알아서 처리합니다.
어디서 확인하나요? pip show <패키지> 명령의 Requires: 항목

 

반응형

댓글