Pythonでグラフ表示したくなったので、matplotlibをインストールしようとしたら
かなりグダったので残しておく。
OSはCentOS7
pip install matplotlib
↑で基本は良いようですが、これだけだとCentOSでは動かない。
GUI系の処理をするのにtcl/tkを使ってるらしく、
それのPython用モジュールが標準だとPython3側にはないっぽ。
なのでPython3用のやつをインストールする。
sudo yum install tcl -y sudo yum install tcl-devel -y sudo yum install tk -y sudo yum install tk-devel -y sudo yum install tkinter -y sudo yum install python-matplotlib-tk -y
なんだけど、これでもtkinterが入らない。
探してみると
> yum search tkinter python3-tkinter.i686 : A GUI toolkit for Python python3-tkinter.x86_64 : A GUI toolkit for Python python34-tkinter.x86_64 : A GUI toolkit for Python 3 python35u-tkinter.x86_64 : A GUI toolkit for Python 3 python36-tkinter.x86_64 : A GUI toolkit for Python python36u-tkinter.x86_64 : A GUI toolkit for Python
なので、
sudo yum install python36u-tkinter -y
でやってみると、下の感じでモジュールが競合してんぞって怒られる。
・・・ file /usr/lib64/python3.6/xml/sax/__pycache__/xmlreader.cpython-36.opt-2.pyc from install of python36-libs-3.6.6-5.el7.x86_64 conflicts with file from package python36u-libs-3.6.7-1.ius.centos7.x86_64 ・・・
で、これを解消するには一回Python3をアンインストールする必要があるっぽい。
コワ。
なので
sudo yum remove python36u sudo yum install python36u sudo yum install python36u-devel
↑でアンインスト+インストしなおし。
そしたら、↓でOK。
sudo yum install python36u-tkinter -y
長かった。
あと、途中でAggはもう使えないよってエラーが出るので、
matplotlib.use('TkAgg')
を入れてみたり、↓の設定ファイルを書き換えたりする必要がある
vi ~/pyenv/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc ## 'module://my_backend'. backend : Tkagg
って事をみたのですが、インストールが上手くいった後だと、
特にやらなくてもちゃんと動いた。なんでしょね。