Python

【Docker環境構築】Pythonとplotlyを共有する方法

DockerはPythonの環境構築に必須

Dockerとは

OSや環境をコンテナのような物に保管して管理し、いつでもどのPCでも同じ環境で動作することが可能になります。

Dockerを使うメリット

・初心者でも簡単に短時間で環境が構築できる

・どのPCでも同じ環境が作れる

・好きなOSを選んで環境が作れる

Dockerインストール

Dockerの公式サイトでアプリをインストールする手順を紹介します。

画面の「Get Started」ボタンを押します

ダウンロードする端末を選択します。

今回はMacを選択した場合の導入方法についての説明です。

インストールが終わるとアプリイメージをドラッグ&ドロップしてMacのアプリ内に格納します。

これでDockerアプリが使用できます。

ターミナルでの実行

ターミナルを立ち上げ次のように入力します。

docker run hello-world 

このように「Hello from Docker」と出力されれば成功です。

jupyter-labの環境を構築する

デスクトップに「MyDocker」というフォルダを作ります。

そのフォルダに「Dockerfile」というファイルを作成します。

FROM ubuntu:latest

RUN apt-get update && apt-get install -y sudo wget vim curl gawk make gcc

RUN wget https://repo.continuum.io/archive/Anaconda3-2019.03-Linux-x86_64.sh && \
    sh Anaconda3-2019.03-Linux-x86_64.sh -b  && \
    rm -f Anaconda3-2019.03-Linux-x86_64.sh && \
    sudo curl -sL https://deb.nodesource.com/setup_10.x | sudo bash -  && \
    sudo apt-get install -y nodejs

ENV PATH $PATH:/root/anaconda3/bin

RUN mkdir /workspace

CMD ["jupyter-lab", "--ip=0.0.0.0","--port=8888" ,"--no-browser", "--allow-root", "--LabApp.token=''"]

今回、キノコードさんのコードを引用させていただきました。

このdockerファイルはOSをubuntuとしてAnacondaをインストールした物になっています。

詳細はこちらの記事で詳しく説明されています。

理屈はさておき、最速でDockerを使ってPythonのデータ分析の環境構築をする

ビルドする

ビルドとはdockerファイルからイメージを作成することです。

docker build -t jlab:latest /MyDocker

※MyDockerのところはDockerfileを保存しているディレクトリのURL

「jlab」のところはコンテナ名で好きな名前で保存してください。

今回のコンテナ名はjupyterlab用ということで「jlab」としていきます。

Successfully  builtと出力されたら完了です。

 

作成したdockerイメージは下記コマンドでイメージの一覧が表示されます。

docker images

IMAGE IDは次のマウント作業やいろいろな場面で使用するのでメモしておくと便利です。

マウントする

マウントとはdockerコンテナとパソコンを同期すること。

同期したフォルダ内で共通のファイルを作成したり編集したりできるようになります。

{IMAGE ID}のところは先ほどのIDを入力します。

docker run -p 8888:8888 -v /MyDocker:/workspace --name jlab {IMAGE ID}

http://localhost:8888/

のURLにアクセスするとjupyterLabのメイン画面が表示されます。

ここまででDockerの導入とPythonの環境構築は完了です。

plotlyの導入

docker内に各種ライブラリをインストールする

グラフ可視化ソフトで有能な以下のライブラリをインストールします。

・plotly

・plotly_express

・plotly-extension(jupyterLab内でグラフを表示する用)

docker exec -it jlab bash

pip install plotly
pip install plotly_express
jupyter labextension install @jupyterlab/plotly-extension

全てインストールが終わったらexitで終了します。

jupyterLab内でplotlyを使ったグラフを作成する

import plotly.express as px
df = px.data.tips()
fig = px.box(df, y="total_bill")
fig.show()

HTMLで保存した箱ひげ図

箱ひげ図が描けました。

参考教材

JupyterLabでPlotlyのグラフを表示させる

Plotlyに関する書籍紹介

↓Plotlyについて学べる数少ない参考書です。

Mickey@コーヒー好きエンジニア

【製造業×プログラミング×AI】Python/VBAを活用した業務改善、Streamlit/Plotlyを活用したWebアプリ開発について初心者向けに発信中|趣味は自家焙煎コーヒー作り|noteでは焙煎理論を発信|ココナラではプログラミングに関する相談,就職/転職やコーヒーに関する相談などのサービスをやっています