증상
로컬에서 잘 돌던 스크립트가 서버에서 SyntaxError로 죽는다. 런타임 에러가 아니라 파싱 단계라 한 줄도 실행되지 않는다.
원인
공유호스팅·구형 서버의 기본 파이썬이 3.9인 경우가 흔하다. 로컬은 3.11~3.12다.
| 문법 | 필요 버전 | |
|---|---|---|
match / case | 3.10+ | |
| `X \ | Y` 타입 힌트 | 3.10+ |
tomllib | 3.11+ | |
itertools.batched | 3.12+ |
urllib.request · os.path · f-string은 안전하다.
해법
python3 -V를 먼저 확인하고 그 버전 기준으로 쓴다python3.9 -m py_compile *.py