sql >> データベース >  >> RDS >> PostgreSQL

エラー:DockerのAlpineにpsycopg2をインストールするときにpg_config実行可能ファイルが見つかりません

    Python 3.4.8、3.5.5、3.6.5、2.7.14でテスト済み(3を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"]
    

    説明:Psycopgをビルドするには、パッケージgcc musl-dev postgresql-devが必要です。 。次に、そのpg_config実行可能ファイルも必要です。postgresql-devをインストールするだけです。 動作します、postgresql-libs うまくいき、占有するスペースも約12MB少なくなります。

    これが(このDockerfileに基づく)回答の元のバージョンです。当時PythonはPython3.6とAlpine3.7でDockerイメージを提供していなかったため、Pythonを純粋なAlpineイメージに手動でインストールしました。このようにPython2.7をインストールする場合は、apk add py2-pipも実行します。 (py-pipと呼ばれます 古いアルパインリポジトリで)。

    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. JDBC PreparedStatementでLIKEクエリを使用できませんか?

    2. MySQLの自動インクリメント列が10ジャンプするのはなぜですか?

    3. SQL結合の究極のガイド:外部結合–パート2

    4. SQL Serverでデータアクセスが有効になっているかどうかを確認する2つの方法(T-SQLの例)