Error

[Docker 오류 해결] subprocess.CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1.

성장중 •͈ᴗ•͈ 2024. 9. 11. 21:46
728x90
반응형

발생한 오류

도커 파일을 통해서 도커 이미지를 빌드할 때 다음과 같은 오류가 발생하였다. 

subprocess.CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1.

 

ERROR 표시 옆에 실행 오류가 뜨는 코드가 명시되어 있었지만 로그를 봤을 때 공통적으로 "subprocess.CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1." 라고 적혀있었다. 

이 오류는 여전히 lsb_release 명령과 관련된 문제가 있음을 나타내며, pip가 시스템 정보를 얻으려고 할 때 lsb_release 명령을 사용하려고 하지만 실패하고 있음을 의미한다.

우선 내가 기반으로 한 이미지는 'tensorflow/tensorflow:1.14.0-gpu-py3'이고

tensorflow 1.14.0 와 python 3.6.8을 사용했어야 하는 상황이었다. 

 

해결 방법

따라서, 해결 방법은 다음과 같다. 

  1. lsb_release 문제를 우회하기 위해 get-pip.py 스크립트를 사용하여 pip을 설치하였다. 
  2. 모든 pip 명령을 python3.6 -m pip 형식으로 변경하였다. 
  3. 캐시 관련 문제를 방지하기 위해서 모든 pip 설치 명령에 --no-cache-dir 옵션을 추가하였다. 
# pip 설치 및 업그레이드 (get-pip.py 사용)
RUN wget https://bootstrap.pypa.io/pip/3.6/get-pip.py \
    && python3.6 get-pip.py \
    && rm get-pip.py

# pip 업그레이드 및 필수 패키지 설치(예시)
RUN python3.6 -m pip install --no-cache-dir --upgrade pip setuptools wheel
728x90
반응형
LIST