피드로 돌아가기
Dev.toDevOps
원문 읽기
Python venv Launcher의 절대 경로 오염으로 인한 Permission Error 해결
Cómo solucionar el error de permisos al ejecutar `pip.exe` en entorno virtual (Python 3.10 en Windows)
AI 요약
Context
Windows 환경의 Python venv 내 pip.exe는 python.exe의 절대 경로를 포함한 패키징된 Launcher 구조를 가짐. Python 재설치나 환경 이동으로 인해 내부 임베디드 경로가 유효하지 않을 경우 시스템 권한과 무관하게 Access is denied 에러가 발생하는 한계점 존재.
Technical Solution
- venv/Scripts/pip.exe 내부에 하드코딩된 절대 경로와 실제 python.exe 위치 간의 불일치 해결을 위한 기존 환경 제거
python -m venv명령어를 통한 정확한 Python Interpreter 경로 기반의 Launcher 재생성- Launcher 바이너리를 거치지 않고 Python 인터프리터가 직접 pip 모듈을 실행하는
python -m pip방식 채택으로 경로 의존성 제거 - Microsoft Store 버전 대신 Python.org 설치 파일을 통한 표준 PATH 설정으로 경로 일관성 확보
- 바이너리 파일의 末尾(End of file) 섹션에서 임베디드 경로를 추출하여 유효성을 검증하는 진단 로직 적용
실천 포인트
- venv 생성 시 `python -m venv` 명령어를 사용하여 인터프리터 경로 일관성 유지 - 가상 환경의 절대 경로 의존성으로 인해 venv 폴더의 임의 이동 및 복제 금지 - 실행 안정성 확보를 위해 `pip.exe` 직접 실행 대신 `python -m pip` 호출 습관화 - 환경 구축 전 `python --version`으로 PATH에 등록된 인터프리터 버전 최종 확인