sal*_*jad 17 postgresql python-2.7 docker alpine-linux
要在python中使用PostgreSql,我需要
pip install psycopg2
Run Code Online (Sandbox Code Playgroud)
但是,它依赖于libpq-dev和python-dev.我想知道如何在高山中安装依赖项?谢谢.
这是一个Dockerfile:
FROM python:2.7-alpine
RUN apk add python-dev libpq-dev
RUN pip install psycopg2
Run Code Online (Sandbox Code Playgroud)
输出是:
步骤3:运行apk添加python-dev libpq-dev --->运行3223b1bf7cde警告:忽略APKINDEX.167438ca.tar.gz:没有这样的文件或目录警告:忽略APKINDEX.a2e6dac0.tar.gz:没有这样的文件或目录错误:不满足约束:libpq-dev(缺失):必需:world [libpq-dev] python-dev(缺失):必需:world [python-dev]错误:服务'服务'无法构建:命令'/ bin/sh -c apk添加python-dev libpq-dev'返回非零代码:2
San*_*ant 23
如果你只需要在基于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
Run Code Online (Sandbox Code Playgroud)
Fel*_*oni 10
编译/安装psycopg2之前的解释
libpq是PostgreSQL的客户端库https://www.postgresql.org/docs/9.5/libpq.html
postgresql-dev 带有标题的包,用于链接库/二进制文件中的libpq,就像psycopg一样.
我在alpine 3.7中使用以下配置,我添加一些注释来解释它.
# Installing client libraries and any other package you need
RUN apk update && apk add libpq
# Installing build dependencies
# For python3 you need to add python3-dev *please upvote the comment
# of @its30 below if you use this*
RUN apk add --virtual .build-deps gcc python-dev musl-dev postgresql-dev
# Installing and build python module
RUN pip install psycopg2
# Delete build dependencies
RUN apk del .build-deps
Run Code Online (Sandbox Code Playgroud)
我无法安装它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
Run Code Online (Sandbox Code Playgroud)
在 Docker 中在 Alpine Linux 下运行 Python 3.7 和 PostgreSQL 时遇到问题。这篇文章帮助https://www.rockyourcode.com/install-psycopg2-binary-with-docker/
主要是psypcopg2-binary在您的需求文件中引用并安装以下软件包(在 Dockerfile 中):
RUN apk update && \
apk add --no-cache --virtual build-deps gcc python3-dev musl-dev && \
apk add postgresql-dev
Run Code Online (Sandbox Code Playgroud)