Python
RaspberryPi
raspbian
NOOBS

Raspberry Pi に Python 3.7.0 をインストールする

思いつき

職場でCIツールのアラートやSlack、メールの未読に気づかない私です。
できないことがあるなら道具に頼ってしまいたいと考えて、遠く以前に購入してニキシー管チカ1をして遊んだきりの Raspberry Pi 2 Model B を使って LED の視覚的なアラートと音声ブザーを使いたいのです。

環境

  • Windows 10
    • micro SD カードが読み書きできれば、当然 Mac などでも構わないと思います。
  • Raspberry Pi 2 Model B
    • 主役

使用したもの


作業手順

  1. NOOBS を解凍して SD カードに入れる2
  2. Raspberry Pi にSD カードを挿入し、インストールする
    • 今回は Raspbian を選択
    • この際、元あった中身のファイルは消える
  3. apt-get 周辺のサーバがメンテされなくなったのか使えない
    そこで apt を利用することにする3
# 儀式
$ sudo apt update
$ sudo apt upgrade

# ARM 用の準備や SSL や Git や色々
$ apt install -y libffi-dev libbz2-dev liblzma-dev libsqlite3-dev libncurses5-dev libgdbm-dev zlib1g-dev libreadline-dev libssl-dev tk-dev build-essential libncursesw5-dev libc6-dev openssl git


$ Python3 --version
Python 3.5.3

# Python が 3.5.3 だったので 3.7.0 をビルドする
$ wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
$ sudo tar -xf Python-3.7.0.tar.xz 
$ cd Python-3.7.0

# ここで ./configure のあとにオプションを指定しているサイトがあるが
# https://bugs.pytho.org/issue29712 を見る限り不要っぽい?
$ sudo ./configure
$ sudo make
$ sudo make altinstall
$ pip3 install --upgrade pip

$ pip3 --version
pip3 10.0.1

]
その後は自分の好みでエイリアスを変更していく

  • python -> python2
  • (元の) python3 -> python3.5
  • python3.7 -> python3

今後の課題

  • Jenkins なりなんなり、CI ツールから Raspberry Pi に通知を送る方法を調べる
  • メールサーバを Raspberry Pi 内に立てると、未読がなくなったときに通知を消す方法が思いつかない
    • Slack なりメールなり、未読がなくなったときのトリガをどうするか


  1. 200V 昇圧はもう触りたくない。 

  2. うまく認識せず、通常の方法ではフォーマットもできなかったため Windows の diskpart.exe を使用した。 

  3. これからは apt が標準になるみたいですが、古い記事を参考にしようとすると apt-get が多いみたい。
    アクセスするサーバの設定を変更したら apt-get でもダウンロードできるとか。