Para usar PostgreSql en python necesito
pip install psycopg2Sin embargo, depende de libpq-dev y python-dev. Me pregunto cómo puedo instalar las dependencias en alpine. Gracias.
Aquí hay un Dockerfile:
FROM python:2.7-alpine RUN apk add python-dev libpq-dev RUN pip install psycopg2y la salida es:
Paso 3: EJECUTAR apk add python-dev libpq-dev ---> Ejecutándose en 3223b1bf7cde ADVERTENCIA: Ignorar APKINDEX.167438ca.tar.gz: No existe tal archivo o directorio ADVERTENCIA: Ignorar APKINDEX.a2e6dac0.tar.gz: No existe tal archivo o ERROR de directorio: restricciones insatisfactorias: libpq-dev (ausente): requerido por: world[libpq-dev] python-dev (faltante): requerido por: world[python-dev] ERROR: el servicio 'servicio' no se pudo construir: el comando '/bin/sh -c apk add python-dev libpq-dev' devolvió un código distinto de cero: 2
Si solo necesita instalar psycopg2 para python 2.7 en la imagen de Docker basada en python: 2.7-alpine , el siguiente código para Dockerfile será bueno para usted:
FROM python:2.7-alpine RUN apk update && \ apk add --virtual build-deps gcc python-dev musl-dev && \ apk add postgresql-dev RUN pip install psycopg2Una explicación antes de compilar/instalar psycopg2
libpq es la biblioteca cliente para PostgreSQLpostgresql-dev son el paquete con los encabezados de origen para vincular libpq en una biblioteca/binario en una compilación, en este caso cuando pip compila psycopg . Yo uso la siguiente configuración en alpine 3.7 , agrego algunos comentarios para explicarlo.
# Installing client libraries and any other package you need RUN apk update && apk add libpq # Installing build dependencies # For python3 you need to add python3-dev *please upvote the comment # of @its30 below if you use this* RUN apk add --virtual .build-deps gcc python-dev musl-dev postgresql-dev # Installing and build python module RUN pip install psycopg2 # Delete build dependencies RUN apk del .build-depsTuve problemas con la ejecución de Python 3.7 y PostgreSQL en Alpine Linux en Docker. Este artículo ayudó https://www.rockyourcode.com/install-psycopg2-binary-with-docker/
Lo principal es hacer referencia a psypcopg2-binary en su archivo de requisitos e instalar los siguientes paquetes (en Dockerfile):
RUN apk update && \ apk add --no-cache --virtual build-deps gcc python3-dev musl-dev && \ apk add postgresql-dev