sql >> Base de Datos >  >> RDS >> PostgreSQL

Error:no se encontró el ejecutable pg_config al instalar psycopg2 en Alpine en Docker

Probado con Python 3.4.8, 3.5.5, 3.6.5 y 2.7.14 (solo reemplace 3 con 2):

# You can use a specific version too, like python:3.6.5-alpine3.7
FROM python:3-alpine

WORKDIR /usr/src/app

COPY requirements.txt .

RUN \
 apk add --no-cache postgresql-libs && \
 apk add --no-cache --virtual .build-deps gcc musl-dev postgresql-dev && \
 python3 -m pip install -r requirements.txt --no-cache-dir && \
 apk --purge del .build-deps

COPY . .

CMD ["python3", "app.py"]

Explicación:para construir Psycopg necesitas los paquetes gcc musl-dev postgresql-dev . Entonces también necesita ese ejecutable pg_config:mientras simplemente instala postgresql-dev funcionará, postgresql-libs también funciona bien y ocupa unos 12 MB menos de espacio.

Aquí está la versión original de la respuesta (basada en este Dockerfile) donde instalé Python manualmente en una imagen Alpine pura porque en ese momento Python no proporcionó la imagen Docker con Python 3.6 y Alpine 3.7. Si desea instalar Python 2.7 así, también haga apk add py2-pip (llamado py-pip en repositorios Alpine más antiguos).

FROM alpine:3.7

WORKDIR /usr/src/app

COPY requirements.txt .

RUN \
 apk add --no-cache python3 postgresql-libs && \
 apk add --no-cache --virtual .build-deps gcc python3-dev musl-dev postgresql-dev && \
 python3 -m pip install -r requirements.txt --no-cache-dir && \
 apk --purge del .build-deps

COPY . .

CMD ["python3", "app.py"]