2019年5月19日日曜日

Dockerでpython3.7とYahoo! Finance Fix for Pandas Datareader、pandas、psycopg2がインストールされたコンテナを作成する

以下のコマンドとDockerfileを使用してYahoo! Finance Fix for Pandas Datareaderとpandas、psycopg2がインストールされたイメージを作成する事ができます。
docker build -t pandas-pg-yf:1.0 .

Dockerfile
FROM python:3.7-alpine3.9
RUN apk --no-cache add libstdc++ \
    postgresql-dev \
  && apk --no-cache --virtual pydeps add gcc \
    g++ \
    python3-dev \
    musl-dev \
    cython \
  && pip install pandas \
  && pip install psycopg2 \
  && pip install fix_yahoo_finance --upgrade --no-cache-dir \
  && pip install SQLAlchemy \
  && apk del --purge pydeps
CMD ["/bin/sh"]

コンテナを作成した後、以下のコマンドとサンプルコードでダウ平均の取得とPostgreSQLに接続確認を行うことができます。
docker run -v `pwd`/test.py:/tmp/test.py --rm -it pandas-pg-yf:1.0 /usr/local/bin/python3 /tmp/test.py

test.py
import pandas as pd
import psycopg2
import fix_yahoo_finance as yf

df = yf.download("^DJI")
print(df)

conn = psycopg2.connect(host='dbserver', port=5432, database='testdb', user='postgres', password='postgres')
result = pd.read_sql(sql="select current_user, version() as ver;", con=conn)
print(result)


○関連情報
・psycopg2に関する他の記事はこちらを参照してください。

0 件のコメント:

コメントを投稿