当前位置: 首页 > 面试题库 >

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

鲁龙野
2023-03-14
问题内容

这个问题以前在这里,也在这里被问过。但是,该解决方案无法解决我的问题。

原始错误是,当我尝试时import matplotlib.pyplot,我得到:

追溯(最近一次通话):文件“ /”,“用户/XX/anaconda/lib/python2.7/site-
packages/matplotlib/pyplot.py”中的行1,位于_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”
matplotlib.backends中的第24行输入import _macosx
RuntimeError:Python未作为框架安装。如果未将Python作为框架安装,则Mac OS
X后端将无法正常运行。有关更多信息,请参见Python文档。在Mac OS
X上安装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]:在/Users/XX/anaconda/lib/libtk8.5.dylib和/System/Library/Frameworks/Tk.framework/Versions/8.5/Tk中都实现了TKWindow类。将使用两者之一。哪一个未定义。

我不知道该如何解决。我没有使用虚拟机。你可以帮帮我吗?谢谢!

PS:我发现通过添加:

导入matplotlib
matplotlib.use(’TkAgg’)

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


问题答案:

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

添加一行:

backend: TkAgg

在文件中:

~/.matplotlib/matplotlibrc

这样就解决了问题。

如果您想更多地了解为什么添加此功能可以解决问题,则可以阅读有关自定义matplotlib的backend的信息。而 TkAgg 解决,因为它与Tkinter的依赖这个问题。



 类似资料:
  • 我正在尝试嵌入一个使用另一个框架的框架,这个框架在模拟器中工作得很好,但在iOS设备上会崩溃: DYLD:未加载库:@rpath/framework.framework/frameworkB引用自:/private/var/mobile/containers/bundle/application/b072cd7c-8595-4AE4-a506-26832a0f4402/frameworktest.

  • 系统要求 Swoft 框架支持 Linux、macOS 以及 Windows 101。 环境要求 必要部分 PHP,版本 >=7.1 PHP 包管理器 Composer PCRE 库 PHP 扩展 Swoole,版本 >=4.3 额外扩展:PDO、Redis 冲突部分 下方列出部分已知与 Swoole 存在冲突的 PHP 扩展,请在使用 Swoft 时移除安装或禁用: Xdebug Xhprof

  • 概述 看下 Gin 框架的官方介绍: Gin 是一个用 Go (Golang) 编写的 web 框架。 它是一个类似于 martini 但拥有更好性能的 API 框架, 由于 httprouter,速度提高了近 40 倍。 如果你是性能和高效的追求者, 你会爱上 Gin。 是的,就是用 Gin 来写 API 接口。 Gin 安装 必须要先安装 Go,Go 的安装可以参考:Go - 环境安装。 框架

  • Yii 可以轻松使用,而不需要基本和高级模板中包含的功能。换句话说,Yii 已经是一个微框架。不需要由模板提供的目录结构与 Yii 一起工作。 当你不需要像 assets 或视图一样的所有预定义模板代码时,这一点特别方便。 其中一种情况是构建 JSON API。 在下面的部分将展示如何做到这一点。 安装 Yii 为您的项目创建一个目录并将工作目录更改为该路径。示例中使用的命令是基于 Unix 的,

  • 我想使用mongodb与yii框架,我试图安装mongodb扩展。根据http://www.yiiframework.com/doc-2.0/ext-mongodb-index.html的留档,我已经在composer.json文件中添加了行"yiisoft/yii2-mongoDB":"~2.0.0"。 但每当我发出命令来安装此扩展时,它都会给出以下错误。 我在这个问题上搜索了很多,在这里找到了

  • Swoole扩展 到GitHub首页下载Swoole扩展源码,地址:https://github.com/swoole/swoole-src 下载后按照标准的PHP扩展编译方式进行编译和安装。一般是 phpize ./configure make install 编译安装完后,修改php.ini加入extension=swoole.so开启swoole扩展。也可以通过dl('swoole.so'