Python이 3.15.1, 3.14.9와 3.13.17 보안 릴리스를 공개했습니다. 배포본에 포함된 pip와 인증서 묶음 업데이트를 통해 eMudhra 관련 신뢰 문제에 대응하며, 이미 존재하는 가상환경도 별도로 확인하도록 안내했습니다. Python 공식 발표
venv는 프로젝트별 Python 실행 환경입니다. 새 Python 설치 프로그램을 실행했다고 기존 venv 안의 pip와 모든 라이브러리가 함께 바뀌었다고 가정하면 안 됩니다. 서비스가 실제로 사용하는 실행 파일과 환경을 확인해야 해요.
이 글의 목차
Python 본체와 pip·인증서 묶음을 나눠 봅니다
Python 인터프리터는 코드를 실행하고, pip는 패키지를 설치하는 도구입니다. HTTPS 연결에서 신뢰할 인증서를 판단하는 정보는 운영체제나 별도 인증서 묶음에서 올 수 있습니다. 이번 배포본 업데이트는 포함된 도구의 신뢰 문제를 함께 다루지만, 이미 만든 모든 프로젝트 환경까지 한꺼번에 교체해 주는 작업은 아닙니다.
하나의 서버에도 시스템 Python, 별도로 설치한 Python, 프로젝트 가상환경과 컨테이너의 Python이 같이 있을 수 있습니다. 터미널에서 보이는 python과 서비스가 실제 호출하는 실행 파일이 다를 수 있어요. 로그인 셸의 버전 확인만으로 완료를 판단하지 말고 서비스 설정과 작업 스케줄러, 빌드 이미지가 선택한 경로를 연결해야 합니다.
기존 venv가 업데이트에서 빠지기 쉬운 이유
가상환경은 프로젝트별 패키지와 실행 환경을 분리하는 데 사용합니다. Python을 새로 설치해도 기존 환경의 pip와 패키지 구성이 그대로 남을 수 있습니다. 실행 파일이 링크인지 복사본인지와 무관하게 환경 안의 도구와 인증서 의존성을 별도로 확인해야 합니다. 새로 만든 가상환경 하나의 결과를 이미 운영 중인 다른 환경에 적용하지 않습니다.
certifi 같은 인증서 묶음을 사용하는 프로그램과 운영체제 저장소에 의존하는 프로그램도 구분합니다. 패키지를 올렸는데 실제 검증은 다른 경로에서 이루어진다면 기대한 수정이 적용되지 않을 수 있습니다. pip를 통한 설치 시험과 업무 애플리케이션의 HTTPS 시험을 따로 남겨야 두 경로를 혼동하지 않을 수 있습니다.
먼저 실제로 실행하는 환경을 식별합니다
아래 명령은 확인할 가상환경을 활성화한 뒤 실행하거나, 서비스가 사용하는 Python의 절대 경로로 바꿔 실행합니다. 실행 파일과 버전, 환경 경로, pip 위치를 읽는 예시입니다. 출력에는 실제 환경 정보가 나와야 하며 이 글에서는 특정 서버의 결과를 만들어 제시하지 않습니다. 명령이 없다는 오류는 그 환경에 pip가 설치되지 않았을 가능성도 포함해 조사합니다.
수정 적용에는 Python 공식 공지와 운영체제·배포 도구의 정상 경로를 사용합니다. 공식 공지는 인증서 문제가 있는 환경을 고려한 검증된 wheel URL과 해시를 제공하므로, 해당 절차가 필요하면 원문의 정확한 값을 사용합니다. 인증서 검증을 끄는 방식으로 설치를 진행하지 않고, 적용 후 기존 가상환경과 실제 서비스의 연결 결과를 각각 확인합니다.
python -c "import sys; print(sys.executable); print(sys.version); print(sys.prefix); print(sys.base_prefix)"
python -m pip --version
sys.prefix와 sys.base_prefix는 활성 환경을 파악하는 단서입니다. 여러 환경을 점검할 때는 각 환경의 Python으로 다시 확인하고, 도구의 존재 여부와 수정 적용 여부를 구분해 기록합니다.
업데이트 완료를 판단할 자료
- 실제 실행 중인 Python 경로와 버전을 기록합니다.
- 기존 venv의 pip·인증서 공급 경로를 별도로 확인합니다.
- 업데이트 후 패키지 설치와 업무용 HTTPS 연결을 시험합니다.
이 글은 Python 배포본의 대응을 다룹니다. 조직 전체 인증서 조치는 운영체제·브라우저·컨테이너의 신뢰 저장소 점검과 연결해 진행합니다.
발표문 기준일: 2026-10-21 · 확인일: 2026-10-24



