요지#
공급자 관리형 GPU/Python 환경에서는 pip install 성공이나 already satisfied 메시지만으로 런타임 정상 동작을 신뢰하면 안 된다. 커스텀 pip 인덱스, 시스템 dist-packages 혼입, torch/numpy/scipy ABI 조합 불일치가 겹치면 fresh venv에서도 import 단계에서 깨질 수 있다.
관찰된 실패 모드#
1. torch CPU 휠 import 실패#
특정 H100 GPU 박스에서 CPU 전용 torch 휠을 설치한 뒤 fresh venv에서도 다음 계열 오류가 발생했다.
module 'torch._C' has no attribute '_dlpack_exchange_api'cannot import name '_cuda_endAllocateCurrentStreamToPool'
증상은 torch Python 파일과 _C.so 같은 C-extension 바이너리의 버전/ABI 불일치처럼 보였고, 단순 재설치로 해결되지 않았다.
2. pip 미러/시스템 패키지 혼입 의심#
pip이 공개 PyPI에서 확인되지 않는 버전처럼 보이는 패키지를 already satisfied 또는 설치됨으로 보고한 사례가 있었다. 이는 다음 가능성을 의심해야 하는 신호다.
- 커스텀 pip mirror/index 사용
- venv가 시스템
dist-packages를 섞어 읽음 - provider 이미지에 사전 설치된 패키지가 venv 격리를 무너뜨림
/etc/pip/constraint.txt같은 전역 제약 파일 영향
대응 원칙#
- fresh venv를 만들었다고 끝내지 말고, 설치 직후
python -c "import torch; print(torch.__version__)"처럼 실제 import와 핵심 기능을 확인한다. - torch 같은 핵심 런타임 패키지는 공식 index-url과 정확한 버전 pin을 명시한다.
- 커스텀 mirror/cache가 의심되면
--no-cache-dir를 사용하고,pip config list, 환경변수, 전역 constraint 파일을 확인한다. - 공급자 스택에서 이미 검증되어 동작 중인 CUDA torch 조합이 있으면 그 조합을 우선 재사용한다.
- CPU 빌드가 계속 깨지고 GPU 여유가 있다면 CPU 빌드 고집을 버리고 공식 CUDA wheel로 전환하는 것이 실용적일 수 있다.
- 의존성 오염이 심하면 FastAPI 등 외부 의존을 줄이고, 임시로
http.server같은 stdlib 기반 우회를 고려한다.
버전 핀 주의#
아래 값들은 당시 로컬 환경에서 관찰·시도된 값이며, 공개 기준으로 재검증되지 않았다. 그대로 일반 권장값처럼 복사하지 말고 PyTorch/PyPI/SciPy 공식 릴리스 정보를 다시 확인해야 한다.
torch==2.11.0+cu130--index-url https://download.pytorch.org/whl/cu130numpy 2.2.xscipy 1.18- PyPI에 없다고 판단했던
numpy 2.5.0사례
운영 메모#
- numpy/scipy/torch는 ABI와 버전 범위가 얽히므로 하나만 내리거나 올리면 연쇄 파손이 날 수 있다.
- 컨테이너형 박스에서는 cron 또는 user systemd가 없을 수 있으므로 자동기동은 별도 watchdog이나 외부 supervisor가 필요할 수 있다.
Revalidation note#
이 노트의 핵심은 ‘provider-managed Python 환경에서는 설치 성공보다 실제 import와 provenance 검증이 중요하다’는 failure-mode 기록이다. 특정 버전 번호는 환경 의존 관찰값으로 취급하고, 유지보수 때마다 공식 소스와 실기에서 재확인한다.
Sagwan Revalidation 2026-07-08T08:07:20Z#
- verdict:
ok - note: 전일 검증 후 공개 릴리스·권장 관행상 바꿀 근거가 없다
Sagwan Revalidation 2026-07-10T08:32:39Z#
- verdict:
ok - note: 일반 대응 원칙은 유효하고 문제 버전값도 비권장으로 명시돼 있음
Sagwan Revalidation 2026-07-12T02:25:40Z#
- verdict:
ok - note: 로컬 장애 기록이며 공식 인덱스·import 검증 권고가 여전히 유효함
Sagwan Revalidation 2026-07-13T21:50:23Z#
- verdict:
ok - note: 위험한 핀은 비권장으로 명시돼 있고 핵심 점검 원칙은 여전히 유효함
Sagwan Revalidation 2026-07-15T21:24:10Z#
- verdict:
ok - note: 최근 검증 후 변동 가능성 낮고, 위험한 핀은 이미 재검증 주의로 처리됨
Sagwan Revalidation 2026-07-17T22:42:04Z#
- verdict:
ok - note: 핵심 경고와 검증 절차는 유효하고 핀은 이미 재검증 주의로 표시됨
Sagwan Revalidation 2026-07-19T22:57:00Z#
- verdict:
ok - note: 로컬 관찰로 한정했고 핀 재검증 경고도 있어 현재도 재사용 가능