以前にも書いたが、再び wxPython を OSX にインストールするメモ。
python は 3.8.7 を使っている。OSX は Catalina。
pyenv 使用中。
本当の問題は
import matplotlib.pyplot as plt
のときに
ModuleNotFoundError: No module named '_tkinter'
というエラーが出ること。
これを回避するために TK ではなく WX を使おうとして
matplotlib.use('WXAgg')
としようとしている。
このためにまず wxPython のインストール。
pip install wxPython
python を開いて、
import matplotlib
matplotlib.use('WXAgg')
import matplotlib.pyplot as plt
plt.plot([5,3,4,5,1,4,5,6,5,4,3])
とすると、
This program needs access to the screen. Please run with a
Framework build of python, and only when you are logged in
on the main display of your Mac.
というエラーが出た。
そこで、python を一旦 uninstall して、以下の様にオプションをつけて再度インストール。
env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install 3.7.8
wxPython, matplotlib を pip で再度インストールし、plot したところ
plt.plot([5,3,4,5,1,4,5,6,5,4,3])
でエラーがでず
plt.show()
で無事にウィンドウが開いた。
~/.matplotlib/matplotlibrc
に
backend : WxAgg
と書いておくと、matplotlib.use('WXAgg') をする必要がなくなる。