brew安装python/matplotlib不工作:没有名为_tkinter的模块



我正在努力在matplotlib中制作基本的绘图。看起来我没有正确安装tkinter,我知道应该从--with-tcl-tk标志安装它。是什么导致了我的错误?如何更好地诊断此问题?下载ActiveState tkinter对我没有帮助。

我卸载了所有我认为相关的东西,然后重新安装。brew没有引发任何错误。

$ brew uninstall python
$ brew uninstall matplotlib numpy --force
$ brew install python --with-tcl-tk
$ brew install numpy matplotlib --with-tcl-tk

然而,当我导入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
>>> 

这比卸载方法快一点(希望更安全)。。。

1) 确保您安装了Brew的Tcl/Tk(它与MacOS分开)

brew install tcl-tk

2) 现在使用启用Tcl/Tk的重新编译Python

brew reinstall python --with-tcl-tk

在我的案例中,我通过使用自制软件卸载和重新安装Python来解决这个问题。我希望其他人能提供更好的解决方案。。。

$ brew uninstall python@2
Uninstalling /usr/local/Cellar/python@2/2.7.14_3... (4,324 files, 77.4MB)
$ brew install python@2
==> Downloading https://homebrew.bintray.com/bottles/python@2-2.7.14_3.el_capita
######################################################################## 100.0%
==> Pouring python@2-2.7.14_3.el_capitan.bottle.2.tar.gz
==> /usr/local/Cellar/python@2/2.7.14_3/bin/python -s setup.py --no-user-cfg ins
==> /usr/local/Cellar/python@2/2.7.14_3/bin/python -s setup.py --no-user-cfg ins
==> /usr/local/Cellar/python@2/2.7.14_3/bin/python -s setup.py --no-user-cfg ins
==> Caveats
Pip and setuptools have been installed. To update them
  pip install --upgrade pip setuptools
You can install Python packages with
  pip install <package>
They will install into the site-package directory
  /usr/local/lib/python2.7/site-packages
See: https://docs.brew.sh/Homebrew-and-Python
==> Summary
🍺  /usr/local/Cellar/python@2/2.7.14_3: 4,669 files, 82.4MB

皮普保存了所有东西,我使用的venv也完好无损。

最新更新