Fix Docker startup install for externally managed Python environment.
Install python3-venv and move backend dependency installation/runtime to a dedicated venv to avoid PEP 668 pip errors inside Debian-based container. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -6,7 +6,7 @@ ENV DEBIAN_FRONTEND=noninteractive
|
|||||||
RUN sed -i "s|deb.debian.org|${APT_MIRROR}|g; s|security.debian.org|${APT_MIRROR}|g" /etc/apt/sources.list.d/debian.sources
|
RUN sed -i "s|deb.debian.org|${APT_MIRROR}|g; s|security.debian.org|${APT_MIRROR}|g" /etc/apt/sources.list.d/debian.sources
|
||||||
|
|
||||||
RUN apt-get update \
|
RUN apt-get update \
|
||||||
&& apt-get install -y --no-install-recommends python3 python3-pip ca-certificates git \
|
&& apt-get install -y --no-install-recommends python3 python3-pip python3-venv ca-certificates git \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|||||||
@@ -18,7 +18,11 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
echo "[start] installing backend dependencies"
|
echo "[start] installing backend dependencies"
|
||||||
python3 -m pip install --no-cache-dir -r "${WORKTREE_DIR}/backend/requirements.txt"
|
VENV_DIR="${WORKTREE_DIR}/.venv"
|
||||||
|
if [ ! -x "${VENV_DIR}/bin/python" ]; then
|
||||||
|
python3 -m venv "${VENV_DIR}"
|
||||||
|
fi
|
||||||
|
"${VENV_DIR}/bin/pip" install --no-cache-dir -r "${WORKTREE_DIR}/backend/requirements.txt"
|
||||||
|
|
||||||
echo "[start] installing frontend dependencies and building"
|
echo "[start] installing frontend dependencies and building"
|
||||||
cd "${WORKTREE_DIR}/frontend"
|
cd "${WORKTREE_DIR}/frontend"
|
||||||
@@ -27,7 +31,7 @@ npm run build
|
|||||||
|
|
||||||
echo "[start] launching backend:${BACKEND_PORT} and frontend:${FRONTEND_PORT}"
|
echo "[start] launching backend:${BACKEND_PORT} and frontend:${FRONTEND_PORT}"
|
||||||
cd "${WORKTREE_DIR}/backend"
|
cd "${WORKTREE_DIR}/backend"
|
||||||
python3 app.py &
|
"${VENV_DIR}/bin/python" app.py &
|
||||||
BACKEND_PID=$!
|
BACKEND_PID=$!
|
||||||
|
|
||||||
cd "${WORKTREE_DIR}/frontend"
|
cd "${WORKTREE_DIR}/frontend"
|
||||||
|
|||||||
Reference in New Issue
Block a user