2017-01-10 32 views
6

Để sử dụng PostgreSQL trong python tôi cần phảicài đặt psycopg2 cho python: 2,7 alpine trong Docker

pip install psycopg2 

Tuy nhiên, nó có sự phụ thuộc vào libpq-dev và python-dev. Tôi tự hỏi làm thế nào tôi có thể cài đặt các phụ thuộc trong núi cao? Cảm ơn.

Đây là một Dockerfile:

FROM python:2.7-alpine 

RUN apk add python-dev libpq-dev 
RUN pip install psycopg2 

và đầu ra là:

Step 3 : RUN apk add python-dev libpq-dev ---> Running in 3223b1bf7cde WARNING: Ignoring APKINDEX.167438ca.tar.gz: No such file or directory WARNING: Ignoring APKINDEX.a2e6dac0.tar.gz: No such file or directory ERROR: unsatisfiable constraints: libpq-dev (missing): required by: world[libpq-dev] python-dev (missing): required by: world[python-dev] ERROR: Service 'service' failed to build: The command '/bin/sh -c apk add python-dev libpq-dev' returned a non-zero code: 2

Trả lời

2

Có vẻ như các gói bạn cần được libpq không lobpq-dev:

https://pkgs.alpinelinux.org/package/edge/main/x86/py2-psycopg2

Hãy xem các phụ thuộc ở bên phải

+0

tôi đã cố gắng cài đặt lnstall libpq chỉ và nó không hoạt động. – emostafa

+0

Cảm ơn câu trả lời; Có vẻ như libpq không phải là giải pháp. Đây là một phần của câu trả lời Docker: "Bước 3: RUN apk thêm libpq ---> Chạy trong 04206f15a8f7 Chú ý: Bỏ qua APKINDEX.167438ca.tar.gz: Không có tập tin hoặc thư mục Chú ý: Bỏ qua APKINDEX .a2e6dac0.tar.gz: Không có tệp hoặc thư mục nào như vậy LRI: các ràng buộc không thỏa mãn: libpq (bị thiếu): bắt buộc bởi: world [libpq] " – salehinejad

+0

Tôi đã kết thúc bằng cách cài đặt gói hệ thống và xóa nó khỏi requirements.txt –

9

Nếu bạn chỉ cần phải cài đặt psycopg2 cho python 2.7 trên Docker hình ảnh dựa trên python:2.7-alpine mã sau đó sau cho Dockerfile sẽ được tốt đẹp dành cho bạn:

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 psycopg2 
2

tôi không thể có được nó để cài đặt từ python:2.7.13-alpine. Đã kết thúc với điều này:

FROM gliderlabs/alpine:3.3 

RUN apk add --no-cache --update \ 
    python \ 
    python-dev \ 
    py-pip \ 
    build-base 

RUN apk add --virtual build-deps gcc python-dev musl-dev && \ 
    apk add --no-cache --update postgresql-dev && \ 
    pip install psycopg2==2.7.1 
Các vấn đề liên quan