首页 文章

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

提问于
浏览
22

此问题之前已在here,也是here中提出过 . 但是,解决方案并没有解决我的问题 .

原来的错误是,当我尝试 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:我发现通过添加:

import matplotlib matplotlib.use('TkAgg')

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

5 回答

  • 0

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

    添加一行:

    backend: TkAgg
    

    在文件中:

    ~/.matplotlib/matplotlibrc
    

    这解决了这个问题 .

  • 23

    以下为我工作:

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

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

  • 0

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

  • 49

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

  • 0

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

    At Console:

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

    On Notebook:

    import matplotlib
    

    Restart the kernel:

    dataframe.plot.hist()
    ...
    

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

相关问题