Python 3

 現在お勉強中の Raspberry pi 3 では当然プログラムを触るわけですが、今まで経験の無い「Python(ギリシャ神話の蛇神「ピュトン」の英語読み)」というプログラム言語です。店長、プログラムはアマチュアレベルなので、新たに習得するのには時間がかかりそうです。
 しかしながら、これ習得しないと解説本の理解が出来なく悔しいので、とにかく上っ面だけでも触る必要があります。そこでウェブ上で「python 入門」関係の記事を見ながらお勉強を開始しました。
 初めてすぐに気になったのが、Python のバージョンに2系列と3系列がある点です。ウル覚えながら、PHPにも4と5混在の問題が、rubyにも1系列と2系列の問題がありました。
 そこで、インストールされているバージョンを調べてみました。OSのアップデートを行って全て最新にしておきバージョンを調べると 2.7.9 でした。今は3も3.5にまでなっているようですが、実は登場してから10年も経っているので当然です。なぜ2系列がいつまでも残っているのか、それほど変更出来ないプログラム、特に組み込み用のプログラムが沢山あるのか、もしくはバージョンアップの書き換えが出来ないくらい互換性が低いのかどれなんでしょう。
 Linux系のOSにプリインストールされているバージョンを見ても、すべて2系列でした。でも、せっかく空っぽの脳みそ(空間が多いという意味ではありません、多分!)に入れる知識ですから、出来れば最新版を入れたいですよね。そこで、開発&お勉強環境の「CentOS7+MATE」に pyenv を使った環境をインストールして、2.7.5 と 3.5.1 の両方を使えるように設定しました。CentOSにpyenvを入れる手順はネット上に沢山あるので参考にして下さい。

 RasberryPi専用のRaspbianへのインストールも殆ど同じでした。最初にUpdate&Upgradeは済ませておく。

  1. インストール済みのPythonのバージョン確認
    $python -V
    Python 2.7.9
  2. ソースからのビルドに必要なもののインストール
    $ sudo apt-get dist-upgrade
    $ sudo apt-get install build-essential libncursesw5-dev libgdbm-dev libc6-dev zlib1g-dev libsqlite3-dev tk-dev libssl-dev openssl libbz2-dev libreadline-dev
  3. Python 使い分け用の pyenv をインストール
    $ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
    $ echo ‘export PYENV_ROOT=”$HOME/.pyenv”‘ >> ~/.profile
    $ echo ‘export PATH=”$PYENV_ROOT/bin:$PATH”‘ >> ~/.profile
    $ echo ‘eval “$(pyenv init -)”‘ >> ~/.profile
    $ source ~/.profile
  4. Python 3.5.1 のインストール
    $ pyenv install 3.5.1
    Downloading Python-3.5.1.tgz…
    -> https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tgz
    Installing Python-3.5.1…

    Installed Python-3.5.1 to /home/pi/.pyenv/versions/3.5.1
     このコンパイル&インストールに15分位かかりました。これは、Raspberry Pi のハード的なCPU能力差で1時間程度かかる場合もあるようです。

  5. デフォルトのバージョンを決める
     ここまでの作業でもデフォルトのバージョンは2.7.9なので以下のコマンドで3.5.1に変更する
     $ pyenv global 3.5.1

 これでデフォルトバージョンが3.5.1になりました。
 コンパイルしている間に、画面に温度計マーク(CPU温度が高すぎる警告)や雷マーク(電源容量が不足している)などがでていましたが、温度は団扇で扇いでしのぎ、電源は雷マークを見ながらアダプターに気合を入れていました。
 さてさて、この Python3 をどの程度のスピードで習得出来るでしょうか。何しろ、まだ20cm用バックロードホーンスピーカーの組み立てとかアンプの製作、内緒ですがインターネットラジオの設計と組み立てとか、、、したいこと多いので。では、この件また進展あればご報告します。

 今回は専門的な話になりました。次回はスマホの話でも。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です