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

KDD*_*KDD 41 python macos matplotlib python-2.7

之前已经问过这个问题,在这里,也在这里.但是,解决方案并没有解决我的问题.

最初的错误是,当我尝试时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全局(),当地人(),[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:我发现通过添加:

import matplotlib
matplotlib.use('TkAgg')

之前import matplotlib.pyplot,它似乎工作.但每次添加这两行代码都很烦人...有谁知道发生了什么以及如何解决它?谢谢!

小智 80

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

添加一行:

backend: TkAgg
Run Code Online (Sandbox Code Playgroud)

在文件中:

~/.matplotlib/matplotlibrc
Run Code Online (Sandbox Code Playgroud)

这解决了这个问题.

  • 适用于我OS 10.13.3 python 3.x. (2认同)

Sib*_*ish 33

以下为我工作:

import matplotlib  
matplotlib.use('TkAgg')   
import matplotlib.pyplot as plt  
Run Code Online (Sandbox Code Playgroud)

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


hak*_*kan 5

我在 virtualenv 中安装了 Jupyter Notebook,以下对我有用:

在控制台:

echo "backend: TkAgg" >> ~/.matplotlib/matplotlibrc
pip install matplotlib==2.1.0
Run Code Online (Sandbox Code Playgroud)

在笔记本上:

import matplotlib
Run Code Online (Sandbox Code Playgroud)

重启内核:

dataframe.plot.hist()
...
Run Code Online (Sandbox Code Playgroud)

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