LoginSignup
0
2

More than 5 years have passed since last update.

pyenv-virtualenv環境でimport matplotlib.pyplotができない時

Last updated at Posted at 2017-03-18

環境

OS:ubuntu14.04 LTS
pyenv virtualenv 3.5.2 xxxでpython3の環境構築
その後、
pip install matplotlib
でmatplotlibをインストール:ここまで問題なし。
ここからドハマり。対話環境で
>>>import matplotlib.pyplot
とやると

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/user/.pyenv/versions/pyenv3.5.2/lib/python3.5/site-packages/matplotlib/pyplot.py", line 115, in <module>
    _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
  File "/home/user/.pyenv/versions/pyenv3.5.2/lib/python3.5/site-packages/matplotlib/backends/__init__.py", line 32, in pylab_setup
    globals(),locals(),[backend_name],0)
  File "/home/user/.pyenv/versions/pyenv3.5.2/lib/python3.5/site-packages/matplotlib/backends/backend_tkagg.py", line 6, in <module>
    from six.moves import tkinter as Tk
  File "/home/user/.pyenv/versions/pyenv3.5.2/lib/python3.5/site-packages/six.py", line 92, in __get__
    result = self._resolve()
  File "/home/user/.pyenv/versions/pyenv3.5.2/lib/python3.5/site-packages/six.py", line 115, in _resolve
    return _import_module(self.mod)
  File "/home/user/.pyenv/versions/pyenv3.5.2/lib/python3.5/site-packages/six.py", line 82, in _import_module
    __import__(name)
  File "/home/user/.pyenv/versions/3.5.2/lib/python3.5/tkinter/__init__.py", line 35, in <module>
    import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named '_tkinter'

こんなエラーが出て一歩も進めなくなる。
いろんなサイト調べて、matplotlibrcbackend書き換えとか、
freetypeだのlibpngだの入れるとかやってみましたが全く効果なし。

結論

matplotlibのバージョン変える。
pip freeze等で確認してmatplotlib==2.0.0となっていたら、

(xxx)pip uninstall matplotlib
(xxx)pip install matplotlib==1.4.3 ※xxxはvirtualenv環境名

で前のバージョンインストールしてみて下さい。
私の場合はこれでmatplotlib.pyplotimportに成功しました。

参考:matplotlib.pyplotがversion 1.5.0でうまく動かなくなった@Mac

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2