python的psycopg2安装:Docker中的2.7-alpine

要在python中使用PostgreSQL,我需要

pip install psycopg2 

但是,它依赖于libpq-dev和python-dev。 我不知道我怎么能安装在阿尔卑斯山的依赖? 谢谢。

这是一个Dockerfile:

 FROM python:2.7-alpine RUN apk add python-dev libpq-dev RUN pip install psycopg2 

输出是:

第3步:运行apk添加python-dev libpq-dev —>在3223b1bf7cde中运行警告:忽略APKINDEX.167438ca.tar.gz:没有这样的文件或目录警告:忽略APKINDEX.a2e6dac0.tar.gz:没有这样的文件或目录错误:不可满足的约束:libpq-dev(缺失):所需:世界[libpq-dev] python-dev(缺less):必需的:world [python-dev]错误:服务'服务' '/ bin / sh -c apk添加python-dev libpq-dev'返回一个非零的代码:2

如果你只需要在基于python:2.7-alpine的 Docker镜像上安装python 2.7的psycopg2,那么下面的Dockerfile的代码对你来说是很好的:

 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 

好像你需要的软件包是libpq而不是lobpq-dev:

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

看看右边的依赖关系

我无法从python:2.7.13-alpine安装python:2.7.13-alpine 。 结束了这个:

 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