此问题之前曾在here,here中提出过。但是,解决方案并没有解决我的问题。
原始错误是,当我尝试import matplotlib.pyplot
时,我得到了:
Traceback(最近一次调用最后一次):文件“”,第1行,in 文件 “/Users/XX/anaconda/lib/python2.7/site-packages/matplotlib/pyplot.py” 第114行 _backend_mod,new_figure_manager,draw_if_interactive,_show = pylab_setup()文件 “/Users/XX/anaconda/lib/python2.7/site-packages/matplotlib/backends/init.py” 第32行,在pylab_setup中 globals(),locals(),[backend_name],0)文件“/Users/XX/anaconda/lib/python2.7/site-packages/matplotlib/backends/backend_macosx.py”, 第24行,在 来自matplotlib.backends import _macosx RuntimeError:Python未作为框架安装。 Mac OS X后端将无法使用 如果没有将Python安装为框架,则功能正常。见 有关将Python安装为的更多信息,请参阅Python文档 Mac OS X上的框架。请重新安装Python作为框架, 或尝试其他后端之一。如果您正在使用Matplotlib 在虚拟环境中,请参阅“在虚拟环境中使用Matplotlib” Matplotlib FAQ中的环境
我按照解决方案添加了~/.matplotlib/matplotlibrc
文件,其代码为:backend: TkAgg
。完成后,我的错误更改为:
/Users/XX/anaconda/lib/python2.7/site-packages/matplotlib/font_manager.py:273: UserWarning:Matplotlib正在使用fc-list构建字体缓存。这个 可能需要一点时间。 warnings.warn('Matplotlib正在构建字体 使用fc-list缓存。这可能需要一点时间。')objc [25120]:Class 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.use( 'TkAgg')
在import matplotlib.pyplot
之前,似乎有效。但每次添加这两行代码都很烦人...有谁知道发生了什么以及如何解决它?谢谢!
答案 0 :(得分:72)
我在virtualenv中运行我的脚本。 Python版本是3.5。
添加一行:
backend: TkAgg
在档案中:
~/.matplotlib/matplotlibrc
这解决了这个问题。
答案 1 :(得分:29)
以下为我工作:
import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
答案 2 :(得分:4)
我在virtualenv中安装了Jupyter Notebook,以下版本对我有用:
在控制台上:
echo "backend: TkAgg" >> ~/.matplotlib/matplotlibrc
pip install matplotlib==2.1.0
在笔记本电脑上:
import matplotlib
重新启动内核:
dataframe.plot.hist()
...
我认为它将解决该错误。
答案 3 :(得分:1)
我在virtualenv中的python 2.7中遇到了相同的问题,我设法通过简单地将matplotlib降级到版本2.1.0来解决了这些问题
答案 4 :(得分:0)
我也遇到了同样的错误。我所做的是安装miniconda包并使用pythonw。 Python应用程序已经安装在我的mac中。安装就像打破鸡蛋一样简单。只需在终端中压缩.sh文件。
答案 5 :(得分:0)
我使用的是pyenv
,因此matplotlibrc
路径不在主目录中,因此我创建了此脚本以找出路径,并将backend
更改为{{1} }:
Tkagg
尽管如此,该脚本仍应与系统上的任何python一起使用。