PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Kesalahan:pg_config executable tidak ditemukan saat menginstal psycopg2 di Alpine di Docker

Diuji dengan Python 3.4.8, 3.5.5, 3.6.5 dan 2.7.14 (ganti saja 3 dengan 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"]

Penjelasan:untuk membangun Psycopg Anda memerlukan paket gcc musl-dev postgresql-dev . Maka Anda juga memerlukan pg_config yang dapat dieksekusi:sambil menginstal postgresql-dev akan bekerja, postgresql-libs juga baik-baik saja dan menggunakan lebih sedikit ruang 12 MB.

Inilah versi asli dari jawabannya (berdasarkan Dockerfile ini) di mana saya menginstal Python secara manual ke gambar Alpine murni karena pada saat itu Python tidak menyediakan gambar Docker dengan Python 3.6 dan Alpine 3.7. Jika Anda ingin menginstal Python 2.7 seperti itu, lakukan juga apk add py2-pip (disebut py-pip di repo Alpine yang lebih lama).

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. Hitung jumlah acara bersamaan dalam SQL

  2. Mendorong Performa untuk PostgreSQL dengan HAProxy

  3. Cara Menghitung Median di PostgreSQL

  4. Bagaimana cara memilih lebih dari 1 catatan per hari?

  5. Optimalisasi kueri Postgres (memaksa pemindaian indeks)