Python 환경의 의존성 디버깅
환경 디버거는 Python transform 환경의 의존성 충돌과 패키지가 들어온 경로를 보여 줍니다. 설치 실패뿐 아니라 정상 해결된 환경의 간접 의존성을 조사할 때도 사용할 수 있습니다.
해결 충돌 보기
라이브러리 패널에서 의존성을 설치하거나 해결할 수 없는 환경으로 preview를 시작하면 Resolve in environment debugger가 나타납니다.
선택하면 VS Code의 새 탭에 대화형 그래프를 엽니다.
- 루트는 사용자의 라이브러리입니다.
- 노드는 패키지 버전 요구 조건이며 그 조건이 의존하는 다른 조건과 연결됩니다.
- 충돌하는 요구 조건은 빨간색으로 표시합니다.
- 사용자 라이브러리에서 직접 가져온 항목은 user-defined로 표시합니다.
user-defined 항목에는 의존성 제거 또는 버전 변경 동작이 표시됩니다. 충돌한 간접 패키지 하나만 보는 대신 그 버전을 요구하는 경로를 따라 직접 요청한 제약을 검토합니다.
정상 설치 환경의 유래 보기
Python transform 저장소의 .maestro 디렉터리 아래에서 생성한 Hawk lockfile을 엽니다. 패키지를 선택하면 위에 View [package name] in environment debugger가 나타납니다.
선택한 패키지와 그것을 가져오는 패키지 관계를 표시하며, 그 패키지가 필요해지는 모든 전이 경로와 각 버전을 확인할 수 있습니다.
여기서 다루는 transform 저장소의 .maestro 경로와 Jupyter/RStudio 관리 환경의 .envs/maestro 경로는 구분합니다. 의존성 설치는 Libraries 패널을 사용합니다.