I am struggling to make basic plots in matplotlib. It looks like I'm not installing tkinter correctly, which I understand should be installed from the --with-tcl-tk flag. What could be causing my error? How can I better diagnose this problem? Downloading the ActiveState tkinter has not helped me.
I uninstalled then reinstalled everything I thought was relevant. No errors were raised by brew.
$ brew uninstall python
$ brew uninstall matplotlib numpy --force
$ brew install python --with-tcl-tk
$ brew install numpy matplotlib --with-tcl-tk
However, I get an error when I import pyplot:
$ python
Python 2.7.11 (default, Dec 22 2015, 12:47:31)
[GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from matplotlib import pyplot
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/site-packages/matplotlib/pyplot.py", line 109, in <module>
_backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
File "/usr/local/lib/python2.7/site-packages/matplotlib/backends/__init__.py", line 32, in pylab_setup
globals(),locals(),[backend_name],0)
File "/usr/local/lib/python2.7/site-packages/matplotlib/backends/backend_tkagg.py", line 6, in <module>
from six.moves import tkinter as Tk
File "/usr/local/lib/python2.7/site-packages/six.py", line 199, in load_module
mod = mod._resolve()
File "/usr/local/lib/python2.7/site-packages/six.py", line 113, in _resolve
return _import_module(self.mod)
File "/usr/local/lib/python2.7/site-packages/six.py", line 80, in _import_module
__import__(name)
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk/Tkinter.py", line 39, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named _tkinter
>>>
This is a little faster (and hopefully safer) than the uninstall method...
1) Ensure you have Brew's Tcl/Tk installed (it is kept separate from the MacOS one)
brew install tcl-tk
2) Now recompile Python with Tcl/Tk enabled
brew reinstall python --with-tcl-tk