site-packages
디렉토리는 Python에서 설치된 패키지와 모듈을 저장하는 장소
- 이 디렉토리는 시스템의 Python 설치 또는 가상 환경 내에 위치
- Python이 패키지를 임포트할 때 참조하는 기본 경로 중 하나
- Python을 설치하면, 표준 라이브러리 외에 추가적인 패키지를 설치할 필요가 종종 있습니다.
pip install
명령을 사용하여 설치한 패키지들은 대부분 이 site-packages
디렉토리에 복사되고 저장
- 이를 통해 Python 프로그램은
import
문을 사용하여 이러한 패키지를 쉽게 불러올 수 있습니다.
site-packages
위치 찾기
site-packages
디렉토리의 정확한 위치는 시스템의 Python 설치 방식과 사용 중인 가상 환경에 따라 달라질 수 있습니다.
- 현재 환경에서
site-packages
디렉토리의 위치를 확인하려면, Python 인터프리터에서 다음 명령을 실행할 수 있습니다:
import site; print(site.getsitepackages())
- 이 명령은 시스템에 설치된 모든
site-packages
디렉토리의 경로를 리스트로 출력합니다.
가상 환경과 site-packages
- 가상 환경을 사용하는 경우, 각 가상 환경은 독립적인
site-packages
디렉토리를 가집니다.
- 이는 가상 환경이 시스템의 전역 Python 설치와 분리되어 있음을 의미
- 가상 환경 내에서 설치한 패키지는 해당 환경의
site-packages
디렉토리에만 저장되므로, 다른 환경이나 시스템의 전역 설치에는 영향을 주지 않습니다.
시스템 Python 설치 VS virtualenv
- "시스템의 Python 설치 또는 가상 환경(virtualenv) 내에 위치"란
site-packages
디렉토리가 두 가지 주요 환경 중 하나에 위치할 수 있음을 의미
- 시스템 전체에 설치된 Python 환경 또는 개별적으로 생성된 가상 환경 내부.
시스템 Python 설치의 site-packages
- 시스템 Python 설치는 컴퓨터의 운영 체제에 Python을 설치하는 것을 의미
- 이 경우,
site-packages
디렉토리는 Python이 시스템 레벨로 설치된 곳에 위치합니다.
- 시스템 Python 설치에서
site-packages
디렉토리의 예상 위치는 다음과 같습니다:
- Windows:
C:\PythonXX\Lib\site-packages
(여기서 XX
는 Python 버전을 나타냅니다)
- macOS/Linux:
/usr/local/lib/pythonX.X/site-packages
또는 /usr/lib/pythonX.X/site-packages
(여기서 X.X
는 Python 버전을 나타냅니다)
가상 환경(virtualenv)의 site-packages
- 가상 환경(virtualenv)은 Python 프로젝트의 의존성을 프로젝트별로 격리하기 위해 사용
- 각 가상 환경은 독립된 Python 인스턴스를 제공하며, 각각의
site-packages
디렉토리를 포함
- 가상 환경을 사용할 때,
site-packages
디렉토리는 해당 가상 환경 내에 위치
- 가상 환경은 일반적으로 프로젝트 디렉토리 내부에 생성되거나 사용자가 지정한 다른 위치에 생성될 수 있습니다.
- 예를 들어,
my_project
라는 가상 환경이 있다면, site-packages
디렉토리의 예상 위치는 다음과 같습니다:
- Windows:
my_project\Lib\site-packages
- macOS/Linux:
my_project/lib/pythonX.X/site-packages
(여기서 X.X
는 Python 버전을 나타냅니다)
pip install -e . 를 수행하지 않아도, 특정 리포지토리의 a 모듈 안에서 import 문으로 특정 리포지토리의 b 모듈을 불러올 수 있던데?