ブログ

Armadillo640へのwxPython Phoenix(Python3に対応したwxPython)のインストール

at_takuma.fukuda
2019年7月4日 8時45分

はじめに

Python2でwxPythonを使用する場合は、pip installで簡単にインストールすることが可能です

Python3でwxPythonを使用する場合も、同様にpip3 installでインストールすることが出来るのですが、

Armadillo-640においてpip3 installでwxPythonをインストールしようとすると、必ずインストールに失敗します。

この記事では、Python3でwxPythonを使用するためにインストールを成功させる方法をご紹介します。

1.wxPythonとは

1-1.wxWidgets

wxWidgetsはC++で開発されているクロスプラットフォームの GUIツールキットです。

1-2.wxPython

wxWidgetsをPythonのモジュールとしてラッピングしたものです。

Python3に対応した最新バージョンのwxPythonが、wxPythone Phoenixです。


2.前提

2-1.SDブート

wxPythonをインストールするにあたって、関連するライブラリなども含めて数GBのファイルをダウンロードすることとなります。

そのため、eMMCよりも容量の大きいmicroSDカードをブートディスクとして使用することを推奨します。

*参考:16GBのmicroSDカードを使用して正常にインストールを完了できることを確認しています

microSDカードをブートディスクとする方法については下記をご確認ください

https://manual.atmark-techno.com/armadillo-640/armadillo-640_product_manual_ja-1.9.0/ch24.html

2-2.所要時間

前述の通りやり取りするファイルの量が多いこともあり、wxPythonのインストールにはかなりの時間を要します。

*参考:実証時、コマンドを実行してからインストール完了まで5時間程度かかりました。


3.インストールの実行

3-1.事前にインストールするもの

インストールを完了するために事前にいくつかのパッケージをインストールしておく必要があります

Debianパッケージ

apt-get installで以下のパッケージをインストールしてください

[armadillo ~]# apt-get install python3 python3-pip libgtk2.0-dev libgtk-3-dev\
               libjpeg-dev libtiff-dev libsdl1.2-dev libgstreamer-plugins-base1.0-dev\
               libnotify-dev freeglut3 freeglut3-dev libsm-dev libwebkitgtk-dev libwebkitgtk-3.0-dev

Python3パッケージ

pip3 installで以下をインストールしてください

[armadillo ~]# pip3 install pathlib2

3-2.wxPythonのインストール

インストール実行

以下を実行してください

[armadillo ~]# pip3 install wxpython

インストール結果確認

以下を実行してください

[armadillo ~]# pip3 list

表示された一覧の中に以下が含まれていればインストール完了です。

wxPython (4.x.x)


注意事項

PIP3をインストール後に、以下のコマンドでPIP3自身をアップデートすると、pip3 installが正常に動作しなくなります。

[armadillo ~]# pip3 install --upgrade pip

apt-getでインストールしたPIP3とpip3 installでインストールしたPIP3とでバージョンが異なり互換性がなくなるためです。 以下のコマンドを実行してPIP3のアンインストールと再インストールを行ってください。

[armadillo ~]# python3  pip uninstall pip && sudo apt install python3-pip --reinstall

wxPythonは、インストールに失敗する場合でもそれがわかるまで数時間かかる場合があります。
今回のインストール方法は初期化後に他のパッケージがインストールされていない状態での実施を想定しています。

2020年4月追記:
Armadillo-640上で直接wxPythonをインストールするのではなく、 at-debian-builderでwxPython3を導入したルートファイルシステムを作成し、 それをArmadillo-640のeMMCに書き込むと正常に動作することを確認しました。
こちらの手順については後日別記事にまとめさせていただきます。