matplotlib:RuntimeError:Python未作为框架安装

问题描述 投票:36回答:5

之前曾在herehere提出这个问题。但是,解决方案并没有解决我的问题。

最初的错误是,当我尝试import matplotlib.pyplot时,我得到了:

回溯(最近一次调用最后一次):文件“”,第1行,文件“/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未安装为框架。如果未将Python安装为框架,则Mac OS X后端将无法正常运行。有关在Mac OS X上安装Python作为框架的更多信息,请参阅Python文档。请重新安装Python作为框架,或尝试其他后端之一。如果您在虚拟环境中使用Matplotlib,请参阅Matplotlib中的“在虚拟环境中使用Matplotlib”常见问题解答

我按照解决方案添加了一个~/.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]:类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之前,它似乎有效。但每次添加这两行代码都很烦人...有谁知道发生了什么以及如何解决它?谢谢!

python macos python-2.7 matplotlib
5个回答
73
投票

我在virtualenv中运行我的脚本。 Python版本是3.5。

添加一行:

backend: TkAgg

在文件中:

~/.matplotlib/matplotlibrc

这解决了这个问题。


29
投票

以下为我工作:

import matplotlib  
matplotlib.use('TkAgg')   
import matplotlib.pyplot as plt  

参考:https://github.com/tensorflow/tensorflow/issues/2375


4
投票

我在virtualenv中安装了Jupyter Notebook,下面为我工作:

在控制台:

echo "backend: TkAgg" >> ~/.matplotlib/matplotlibrc
pip install matplotlib==2.1.0

在笔记本上:

import matplotlib

重启内核:

dataframe.plot.hist()
...

在我看来,它将修复错误。


1
投票

我在virtualenv中的python 2.7中遇到了同样的问题,我设法通过简单地将matplotlib降级到版本2.1.0来解决这些问题


0
投票

我也有同样的错误。我所做的是安装miniconda包并使用pythonw。 Python应用程序已经安装在我的mac中。安装就像打破鸡蛋一样简单。只需在终端中压缩.sh文件即可。

© www.soinside.com 2019 - 2024. All rights reserved.