以前にも書いたが、再び 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') をする必要がなくなる。

 

 

 


やじるし Python 関連メモの目次