kona linux2.3 lightにPython3.6.1とPyQt5をインストールしてGUIアプリを動かす


本来の目的は「低スペPCで自作GUIアプリが動くか」というだけの確認.
Python3.6.1とPyQt5をインストールすれば目的達成のはずだったが,何故か転ばされまくったため手順を記録しておく.

Python3.6インストールの記事はAnacondaを使う方法[1],pyenvを使う方法[2],ソースからビルドする方法[3]と既に色々あるが,今回はPython3.6.1もPyQt5もソースからビルドした.
(恐らく禁じ手だが,apt-getやpipにパッケージがなかったので仕方なく)

先駆者の方々:
[1]インストール Python 3.6.1
[2]Python3.6.0をUbuntu16.04に導入する。
[3]Python3.xをインストール(ソースからコンパイル)for CentOS7.2

PC環境

さくらVPS
CPU: 仮想1core
RAM: 512MB
OS: kona linux2.3 light(GUIなのにメモリ消費が100MBを切る)

やったこと

  1. 下準備
  2. Python3.6.1インストール
  3. PyQt5インストール
  4. アプリ実行確認

1. 下準備

※インストール中のエラーをこれで解決したので,最初にやっておけば多分おk.
上記のpyenv利用例[2]にほとんど載ってたので,もしかしたらPython3.6.1インストール前にそれっぽいパッケージを全部突っ込むべきなのかもしれない.

  • pip3を使いたいので,先にlibssl-devをインストール.これがないとSSL関係のエラーが起こる.Webでは「yum install openssl-develでおk」を非常に多く見かけるが,kona linuxにyumなんてものは無かった.
# aptitude install libssl-dev
  • sqlite3を使いたいので,libsqlite3-devをインストール.記憶が曖昧だが,これがないとimport errorを起こしたような.
# aptitude install libsqlite3-dev
  • Python3.6.1インストールに必要なzlib1g-devをインストール.
# aptitude install zlib1g-dev
  • PyQt5に必要なqt5-defaultをインストール.これがないとPyQt5インストール時に怒られる.余談だが怒られた時「Qt qmake」の表示を見たので,インストールすべきはqt5-qmakeかなと思ったら,正解はqt5-defaultだったことにびっくり仰天.
# aptitude install qt5-default

2. Python3.6.1インストール

  • 公式サイトからpython3.6.1をダウンロードして解凍.ダウンロードページのGzipped source tarballがこちらで言うzip的な解釈なのか.ちょっと面倒だがURLをwgetコマンドで手打ち.
# wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz
# tar -zxvf Python-3.6.1.tgz
  • 出てきたフォルダ内でインスコ作業.付属のREADME.rstにはmake install前にmake testと書いてあるが,今回やってなかった(赤面).
/Python-3.6.1# ./configure
/Python-3.6.1# make
/Python-3.6.1# make install

普通はpip3みたいなパッケージ管理を使って,PyQt5をインストールするのが王道.ただし今回は謎のエラーに詰まされたので,当初の予定通り手動でインストールする(半ギレ).

3. PyQt5インストール

公式ページを参考に.例えば,

PyQt 5.9 Reference Guide: Installing PyQt5

Downloading SIP

SIP must be installed before building and using PyQt5. You can get the latest release of the SIP source code from https://www.riverbankcomputing.com/software/sip/download.

  • SIPが必須らしいので,まずSIPをインストール.
# wget https://sourceforge.net/projects/pyqt/files/sip/sip-4.19.3/sip-4.19.3.tar.gz
# tar -zxvf sip-4.19.3.tar.gz

/sip-4.19.3# python3.6 configure.py
/sip-4.19.3# make
/sip-4.19.3# make install
  • PyQt5本体のインストール.ライセンス承諾を求められたらyesを入力すればOK.
# wget https://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-5.9/PyQt5_gpl-5.9.tar.gz
# tar -zxvf PyQt5_gpl-5.9.tar.gz

/PyQt5_gpl-5.9# python3.6 configure.py
/PyQt5_gpl-5.9# make
/PyQt5_gpl-5.9# make install

4. アプリ実行確認

結論:動きますねぇ!
むしろ思った以上に負荷が小さいようで驚き.通信してるだけのアプリだから当たり前かもしれないが.

タスクマネージャ+コンソール+アプリの3段構えにも関わらずこのメモリ使用量というのはちょっと魅力的.
どうでもいいがkona linuxの背景画像オシャレ・・・オシャレじゃない?