diff --git a/backend/Dockerfile b/backend/Dockerfile index 40ad56d..d63d4a8 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -23,8 +23,12 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ && curl -sSL https://bootstrap.pypa.io/get-pip.py -o /tmp/get-pip.py \ && python /tmp/get-pip.py \ && rm /tmp/get-pip.py \ - && python -m pip install --upgrade pip setuptools wheel \ + && python -m pip install --upgrade pip wheel \ + && python -m pip install "setuptools<80" \ && rm -rf /var/lib/apt/lists/* +# setuptools 80+ 은 pkg_resources 모듈을 제거함. pykrx 가 `import pkg_resources` 를 +# 하므로 80 미만으로 핀. 아래 reqs.txt 단계에서 다른 deps 가 setuptools 재upgrade 를 +# 트리거하지 않도록 별도 명령으로 고정. # Sanity check: 이 출력은 빌드 로그에 박혀서 다음에 인터프리터 불일치 의심될 때 즉시 확인 가능. RUN python -V && python -m pip -V @@ -45,7 +49,9 @@ RUN python -m pip install --extra-index-url https://download.pytorch.org/whl/cu1 RUN python -c "import tomllib; \ deps = tomllib.load(open('pyproject.toml','rb'))['project']['dependencies']; \ open('/tmp/reqs.txt','w').write('\n'.join(deps))" \ - && python -m pip install -r /tmp/reqs.txt + && python -m pip install -r /tmp/reqs.txt \ + && python -m pip install "setuptools<80" \ + && python -c "import pkg_resources; print('pkg_resources OK from', pkg_resources.__file__)" COPY app ./app