
VS Code에서 Python 개발을 하다 보면 import sys 같은 내장 모듈에 대해 Ctrl+클릭(F12)을 자주 사용하게 된다.
하지만 Dev Container 환경에서는 이 기능이 갑자기 작동하지 않았다.
개발환경
- macOS + Docker
- python:latest 이미지를 기반으로 Dev Container 생성
- local 폴더를 container의 /workspace로 마운트하여 개발
로컬 VSC에서는 sys 위에 커서를 올리고 F12 또는 Cmd+Click 하면 정의로 이동 가능한데,
Dev Container 안에서는 아무 반응도 없고, 동작하지 않는 문제
원인 분석: sys는 내장(builtin) 모듈이다
Python의 sys 모듈은 C 언어로 구현된 내장 모듈
따라서 일반적인 Python .py 파일이 아니라, .so 또는 인터프리터 내부에 직접 포함돼 있어 IDE가 추적할 수 없음..
P.S 로컬에서는 왜 잘 되지?
macOS에 설치된 Python은 typeshed 경로에 .pyi 타입 정의 파일을 포함하거나, VS Code가 기본적으로 해당 위치를 인식하고 있어서 정적 분석이 가능 즉, 로컬 Python 인터프리터가 더 많은 힌트를 제공해주는 상태
- mypy --install-types는 typeshed에서 관리하는 .pyi 타입 힌트를 컨테이너에 설치한다.
- 이로 인해 IDE(Pylance, VS Code)가 정적 분석 기능(정의 이동, 자동완성 등)을 향상시킬 수 있게 됩니다.
https://github.com/python/typeshed
설치방법
pip install mypy
mypy --install-types
'Python' 카테고리의 다른 글
| input() vs input = sys.stdin.readline (0) | 2025.05.23 |
|---|---|
| [Python] input 사용법 (0) | 2025.05.23 |
| [python] map(int, input().split()) 을 이용한 입력값 받기 (0) | 2025.05.19 |
| [파이썬] 파이썬 사칙연산, 수학연산 (0) | 2025.05.16 |
| 백준 문제풀이 - 11720 (0) | 2025.04.12 |