Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

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 や色々
$ sudo 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
$ tar -xf Python-3.7.0.tar.xz 
$ cd Python-3.7.0

# ここで ./configure のあとにオプションを指定しているサイトがあるが
# https://bugs.python.org/issue29712 を見る限り不要っぽい?
$ ./configure
$ 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 なりメールなり、未読がなくなったときのトリガをどうするか

(2018/10/28: 勉強会でドヤ顔しながら「とりあえず sudo って入れておけば通るよ!」と言った手前、どれが権限必要なのか再確認したら入れないといけないものに入れてなかったり、入れなくていいものに入れてたりしたから修正


(2019/01/23:追記)
以下の2行に sudo を付けよと編集リクエストが届きました。

$ pip3 install --upgrade pip
$ pip3 --version

手元の環境

ラズパイと同系統の処理ができる
* Windows10 の PowerShell(管理者権限で実行せず)
* MacOS High Sierra
* Ubuntu 18.04

でも本記事の記載とおり愚直に一行ずつ試して、上記3つの環境においてこの部分には権限が必要ないのを確認しているのは先日(2018/10/28)のとおりです。

これらのコマンドで権限が必須な状況・環境・私の勘違いをお教えいただければ幸いです。

  • 疑問点
    • pip3 --versionsudo が必要ならば、python3 --version にも sudo が必要になるのではないか
    • 実務でpip3 install spamするときに sudo をつけた覚えがないので、うまいこと権限を与えていないIDEがなんとかしてくれているのだろうか

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

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

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

GuitarBuilderClass
ギターとかベースとかエフェクターとか作ります。 TDDは後退する勇気。 2019年の抱負はErlangを使いこなせるようになること。 目標は統計検定2級とDB系の資格の何かを取得。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away