sql >> Database >  >> RDS >> PostgreSQL

Fout:pg_config uitvoerbaar bestand niet gevonden bij het installeren van psycopg2 op Alpine in Docker

Getest met Python 3.4.8, 3.5.5, 3.6.5 en 2.7.14 (vervang gewoon 3 door 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"]

Uitleg:om Psycopg te bouwen heb je de pakketten gcc musl-dev postgresql-dev nodig . Dan heb je ook dat pg_config executable nodig:terwijl je gewoon postgresql-dev installeert zal werken, postgresql-libs doet het ook prima en neemt zo'n 12 MB minder ruimte in beslag.

Hier is de originele versie van het antwoord (gebaseerd op dit Docker-bestand) waarbij ik Python handmatig installeer op een pure Alpine-afbeelding omdat Python op dat moment de Docker-afbeelding niet leverde met Python 3.6 en Alpine 3.7. Als je Python 2.7 op die manier wilt installeren, doe dan ook apk add py2-pip (genaamd py-pip in oudere Alpine repo's).

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"]


  1. Oracle Shutdown-fout ORA-01033

  2. Een taakstap toevoegen aan een bestaande SQL Server Agent-taak (T-SQL)

  3. Update een MySQL-tabel met waarden van een andere

  4. Compileren van de pg_repack-extensie in binair formaat van PostgreSQL-installatie