feat(docker): set up Python virtual environment and update dependencies in Dockerfile and CI workflow

This commit is contained in:
pacnpal
2025-01-28 19:08:57 -05:00
parent b4f8ed336d
commit ac4df6a326
2 changed files with 22 additions and 2 deletions

View File

@@ -27,6 +27,18 @@ jobs:
- name: Set up Docker Buildx - name: Set up Docker Buildx
uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v3.0.0 uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v3.0.0
- name: Set up Python
uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0
with:
python-version: '3.11'
- name: Create virtual environment and update pip
run: |
python -m venv venv
source venv/bin/activate
python -m pip install --upgrade pip setuptools wheel
pip --version
- name: Log in to Docker Hub - name: Log in to Docker Hub
uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0 uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0
with: with:

View File

@@ -6,14 +6,22 @@ WORKDIR /app
# Install system dependencies # Install system dependencies
RUN apt-get update && \ RUN apt-get update && \
apt-get install -y --no-install-recommends gcc && \ apt-get install -y --no-install-recommends gcc python3-venv && \
apt-get clean && \ apt-get clean && \
rm -rf /var/lib/apt/lists/* rm -rf /var/lib/apt/lists/*
# Create and activate virtual environment
ENV VIRTUAL_ENV=/opt/venv
RUN python -m venv $VIRTUAL_ENV
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
# Upgrade pip and essential tools
RUN pip install --no-cache-dir --upgrade pip setuptools wheel
# Copy requirements first for better caching # Copy requirements first for better caching
COPY requirements.txt . COPY requirements.txt .
# Install Python dependencies # Install Python dependencies in venv
RUN pip install --no-cache-dir -r requirements.txt RUN pip install --no-cache-dir -r requirements.txt
# Copy the source code # Copy the source code