这个问题以前在here和here中被问过,但是,这个解决方案并没有解决我的问题。
最初的错误是,当我尝试import matplotlib.pyplot
时,我得到:
Traceback (most recent call last): File "", line 1, in File "/Users/XX/anaconda/lib/python2.7/site-packages/matplotlib/pyplot.py", line 114, in _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup() File "/Users/XX/anaconda/lib/python2.7/site-packages/matplotlib/backends/init.py", line 32, in pylab_setup globals(),locals(),[backend_name],0) File "/Users/XX/anaconda/lib/python2.7/site-packages/matplotlib/backends/backend_macosx.py", line 24, in from matplotlib.backends import _macosx RuntimeError: Python is not installed as a framework. The Mac OS X backend will not be able to function correctly if Python is not installed as a framework. See the Python documentation for more information on installing Python as a framework on Mac OS X. Please either reinstall Python as a framework, or try one of the other backends. If you are Working with Matplotlib in a virtual enviroment see 'Working with Matplotlib in Virtual environments' in the Matplotlib FAQ
我按照解决方案添加了一个~/.matplotlib/matplotlibrc
文件,其中包含以下代码:backend: TkAgg
。完成此操作后,我的错误更改为:
/用户/XX/水蟒资源库/python2.7/站点软件包/matplotlib/字体管理器. py:273:用户警告:Matplotlib正在使用fc-list构建字体缓存。这可能需要一些时间。warnings. warn('Matplotlib正在使用fc-list构建字体缓存。这可能需要一些时间。')objc [25120]:类TKApplication在/Users/XX/anaconda/lib/libtk8.5.dylib和/System/Library/Frameworks/Tk. framework/Versions/8.5/Tk中实现。将使用其中一个。哪个未定义。objc [25120]:类TKMenu在/Users/XX/anaconda/lib/libtk8.5.dylib和/System/Library/Frameworks/Tk. framework/Versions/8.5/Tk中实现。将使用其中一个。哪个未定义。objc [25120]:类TKContentView在/Users/XX/anaconda/lib/libtk8.5.dylib和/System/Library/Frameworks/Tk. framework/Versions/8.5/Tk中实现。将使用其中一个。哪个是未定义的。objc [25120]:类TKWindow同时在/Users/XX/anaconda/lib/libtk8.5.dylib和/System/Library/Frameworks/Tk. framework/Versions/8.5/Tk中实现。将使用其中的一个。未定义哪个。
我不知道该怎么解决。我没有使用虚拟机。
PS:我发现通过添加:
导入matplotlib
matplotlib.使用('TkAgg ')
在import matplotlib.pyplot
之前,它似乎是有效的。但是每次添加那两行代码都很烦人...
出什么事了,我该怎么补救?
6条答案
按热度按时间6qftjkof1#
我在virtualenv中运行我的脚本。Python版本是3.5。
添加一行:
文件中:
这就解决了问题。
如果你想知道为什么添加这个可以解决这个问题,你可以阅读定制matplotlib的后端。TkAgg解决了这个问题,因为它依赖于Tkinter。
kh212irz2#
下面的工作对我来说:
参考:https://github.com/tensorflow/tensorflow/issues/2375
lf5gs5x23#
我安装了Jupyter笔记本在virtualenv和下面的工作为我:
在控制台:
在笔记本上:
重新启动内核:
在我看来,它会修复错误。
6rqinv9w4#
我在virtualenv的python 2.7中遇到了同样的问题,我通过将matplotlib降级到2.1.0版来解决这些问题
yks3o0rb5#
我也遇到了同样的错误。我所做的是安装miniconda软件包并使用pythonw。Python应用程序已经安装在我的mac上了。安装就像打鸡蛋一样简单。只需在终端中猛击.sh文件。
vc9ivgsu6#
我使用的是
pyenv
,因此matplotlibrc
路径不在主目录中,所以我创建了以下脚本来找出路径并将backend
更改为Tkagg
:这个脚本应该可以在你的系统上使用任何python。