PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Грешка:pg_config изпълним файл не е намерен при инсталиране на psycopg2 на Alpine в Docker

Тествано с Python 3.4.8, 3.5.5, 3.6.5 и 2.7.14 (просто заменете 3 с 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"]

Обяснение:за да изградите Psycopg имате нужда от пакетите gcc musl-dev postgresql-dev . Тогава имате нужда и от този изпълним файл pg_config:докато просто инсталирате postgresql-dev ще работи, postgresql-libs също се справя добре и заема около 12 MB по-малко място.

Ето оригиналната версия на отговора (базирана на този Dockerfile), където ръчно инсталирах Python на чисто Alpine изображение, тъй като по това време Python не предостави изображението на Docker с Python 3.6 и Alpine 3.7. Ако искате да инсталирате Python 2.7 по този начин, също направете apk add py2-pip (наречен py-pip в по-стари репозитории Alpine).

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как мога да добавя колона, която не позволява нулеви стойности в база данни на Postgresql?

  2. PostgreSQL ОПИСАТЕ ТАБЛИЦА

  3. Анализ на лог на PostgreSQL с pgBadger

  4. Postgres/JSON - актуализиране на всички елементи на масива

  5. Удостоверяването с парола за Postgres е неуспешно