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 add python-dev libpq-devを実行しますディレクトリエラー:満たされない制約:libpq-dev(欠落):必須:world [libpq-dev] python-dev(欠落):必須:world [python-dev]エラー:サービス 'service'の構築に失敗しました:コマンド「/ bin/sh -c apk add 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
Psycopg2をコンパイル/インストールする前の説明
libpq
はPostgreSQLのクライアントライブラリです https://www.postgresql.org/docs/9.5/libpq.html
postgresql-dev
は、psycopgと同様に、ライブラリ/バイナリ内のlibpqをリンクするヘッダーを持つパッケージです。
私は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
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
必要なパッケージはlobpq-devではなくlibpqのようです:
https://pkgs.alpinelinux.org/package/Edge/main/x86/py2-psycopg2
右側の依存関係をご覧ください
dockerfileに追加します
RUN apk update && apk add --no-cache --virtual .build-deps\
postgresql-dev gcc libpq python3-dev musl-dev linux-headers\
&& pip install --no-cache-dir -r requirements.txt\
&& apk del .build-deps\
&& rm -rf /var/cache/apk/*