1. PythonとBokehについて
1-1. Pythonとは

Pythonを使えばほぼどんなプログラムも実現できると言っても過言ではありません。Raspberry Piの特徴であるGPIOピンを使って、センサーや拡張基板と通信することもできます。

  • 定期バックアップなどの作業の自動化
  • マウス、キーボードをプログラムからコントロール
  • センサーから測定値を読み出してファイルに保存
  • 拡張基板の制御
  • カメラで写真を撮影して加工
  • Webからデータを自動収集して分析
  • Webサービスの作成
  • AIを使った画像分類や、オリジナルAIの作成
代替テキスト
1-2. Bokehとは

Bokehは現代のWebブラウザのためのインタラクティブな可視化ライブラリである.エレガントで簡潔な多機能グラフィックス構造を提供し、大型またはストリーミングデータセット上で高性能なインタラクティブ性を提供します。

Bokehは、インタラクティブな描画、ダッシュボード、データアプリケーションを迅速かつ容易に作成することができます。

Bokeh公式サイト

2. RaspberryPiへPythonのインストール
2-1. Pythonのバージョン登録および変更
  • Update-alternativesでPythonのバージョン登録および変更
$ ls /usr/bin/ | grep python
arm-linux-gnueabihf-python2-config
arm-linux-gnueabihf-python2.7-config
arm-linux-gnueabihf-python3-config
arm-linux-gnueabihf-python3.9-config
python
python-config
python2
python2-config
python2.7
python2.7-config
python3
python3-config
python3.9
python3.9-config


$ python -V
Python 2.7.18
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
update-alternatives: /usr/bin/python (python) を提供するために自動モードで /usr/bin/python2.7 を使います
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.9 2
update-alternatives: /usr/bin/python (python) を提供するために自動モードで /usr/bin/python3.9 を使います
$ sudo update-alternatives --config python
alternative python (/usr/bin/python を提供) には 2 個の選択肢があります。

  選択肢    パス              優先度  状態
------------------------------------------------------------
* 0            /usr/bin/python3.9   2         自動モード
  1            /usr/bin/python2.7   1         手動モード
  2            /usr/bin/python3.9   2         手動モード

現在の選択 [*] を保持するには <Enter>、さもなければ選択肢の番号のキーを押してください: 

$ python -V
Python 3.9.2
2-2. Bokehのインストール
  • 支持プラットフォーム. BokehはCPython 3.6+バージョンでのみ公式にサポートされています(テストを続けています)。他のPythonバージョンまたは実装も実行することができ、可能容量は限られていますが、何の保証も提供したりサポートしたりしません。

  • 必要依存項 基本的な用法については、以下のライブラリをインストールしてください。

    • PyYAML>=3.10
    • python-dateutil>=2.1
    • Jinja2>=2.7
    • numpy>=1.11.3
    • pillow>=4.0
    • packaging>=16.8
    • tornado>=5
    • typing_extensions >=3.7.4
$ pip list
Package            Version
------------------ ---------
bluepy             1.3.0
Flask              1.1.2
*Jinja2             2.11.3
matplotlib         3.3.4
*numpy              1.19.5
*packaging          21.3
pandas             1.1.5
*Pillow             8.1.2
pip                20.3.4
*python-dateutil    2.8.1
*PyYAML             6.0
scikit-learn       1.1.2
*tornado            6.2
*typing-extensions  4.4.0
  • Install
$ sudo easy_install pip

Flaskのインストール
$ sudo pip3 install Flask

bokehのインストール

$ sudo pip3 install bokeh

Flaskのインストール
$ sudo pip3 install Flask

$ sudo apt-get install python3-pandas
$ sudo pip3 install scikit-learn

$ sudo apt-get install python-dev libatlas-base-dev

$ sudo apt update & sudo apt install -y python3-numpy

$ sudo apt upgrade

$ bokeh info
Python version      :  3.9.2 (default, Mar 12 2021, 04:06:34) 
IPython version     :  (not installed)
Tornado version     :  6.2
Bokeh version       :  2.4.3
BokehJS static path :  /usr/local/lib/python3.9/dist-packages/bokeh/server/static
node.js version     :  (not installed)
npm version         :  (not installed)
Operating system    :  Linux-5.15.61-v7l+-armv7l-with-glibc2.31
以上