파이썬에서 특정 모듈의 위치를 확인하는 방법
파이썬으로 작성된 순수 파이썬 모듈이라면 module.__file__ 속성을 통해 소스 파일의 실제 경로를 쉽게 확인할 수 있습니다. 아래 예시를 살펴보겠습니다.
>>> import mymodule
>>> mymodule.__file__
C:/Users/Ayush/mymodule.py
위와 같이 임포트한 모듈 객체의 __file__ 속성을 출력하면 해당 모듈 파일이 저장된 전체 경로가 표시됩니다. 이 방법은 직접 작성한 모듈이나 pip로 설치한 서드파티 패키지의 위치를 파악할 때 특히 유용합니다.
C로 작성된 내장 모듈의 경우
다만 주의할 점이 있습니다. 많은 내장(built-in) 모듈은 C 언어로 작성되어 있기 때문에 module.__file__이 .so(공유 라이브러리) 파일을 가리킵니다. Windows 환경에서는 애초에 module.__file__ 속성 자체가 존재하지 않는 경우도 있습니다. 따라서 이런 모듈들은 파이썬 소스 코드를 직접 열어볼 수 없습니다.
'python -v' 옵션 활용하기
내장 모듈이 어디에서 로드되는지 알고 싶다면 명령줄에서 python -v 옵션을 사용해 인터프리터를 실행해 보세요. 이 옵션을 사용하면 어떤 모듈들이 임포트되는지, 그리고 각 모듈이 어떤 경로에서 로드되는지 상세하게 출력됩니다.
python -v
이 출력 결과에는 표준 라이브러리 모듈뿐 아니라 사이트 패키지(site-packages) 디렉터리에서 로드되는 모듈들의 경로까지 함께 표시되므로, 모듈 검색 경로(sys.path) 문제를 디버깅하거나 중복 설치된 패키지를 추적할 때도 큰 도움이 됩니다.