Ubuntu18.04 にpipでwxPython(Phoenix)をインストール
Ubuntu18.04 + python3.7.6(pyenv) にwxPython(Phoenix)をインストールするときに少しハマったのでメモしておきます。
結論
2020/5/17現在の方法です。
sudo apt install libsdl2-2.0-0 libsdl2-dev
してから
pip install -U -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04 wxPython
linuxビルド済みパッケージのリンクからインストールします。リンクのubuntu-18.04の部分はubuntuのバージョン依存です。LTS版ならここを変更すると適切に取ってこれると思います。
余談ですが、ver4.1.0はpython3に対応したPhoenixのfirst releaseだそうです。
試したこと
pip
wxpythonのインストールに必要な依存ライブラリを先にaptで入れます。
sudo apt install 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
で、pipします。
pip install wxpython
すると長大な実行ログらしきものが表示され、末尾に以下のようなエラーが出ます。
... ERROR: Command errored out with exit status 1: /home/username/.pyenv/versions/3.7.6/bin/python3.7 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-c6413j_w/wxpython/setup.py'"'"'; __file__='"'"'/tmp/pip-install-c6413j_w/wxpython/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-f7ldtdg5/install-record.txt --single-version-externally-managed --compile Check the logs for full command output.
ちょっと原因不明です。wxpythonはビルドに必要なライブラリが多くてややこしく、検索すると色々な策が見つかりますが結局どれも解決に至らなかったので諦めました。
apt
python2.7向けならaptで入れられるようです。
sudo apt install python-wxgtk3.0
ですが今更python2系を使うわけもなく、しかもsystem pythonに入れられるので扱いづらいです。私はpyenvでpython管理していたためこの方法は取りませんでした。
まとめ
たまにこういう罠にハマったりするので、pipに全幅の信頼を置くのは良くないかもしれませんね。
condaでは試していませんが、Anaconda Cloudには収録されているようです。
参考
https://qiita.com/hotstaff/items/b3f8bb4c3c098d95925c
https://askubuntu.com/questions/758774/how-to-install-wxpython-ubuntu-16-04