修复 matplotlib“未安装为框架”错误,不更改 $HOME 中的 .matplotlib 配置 [重复]

Posted

技术标签:

【中文标题】修复 matplotlib“未安装为框架”错误,不更改 $HOME 中的 .matplotlib 配置 [重复]【英文标题】:fix matplotlib 'not installed as framework' error w/out changing .matplotlib config in $HOME [duplicate] 【发布时间】:2018-05-01 14:08:30 【问题描述】:

上下文

机器:64 位 Mac 操作系统:macOS 10.10.5

错误信息

以下课程 [Jerry Kurata 'Tensorflow: Getting Started'] 运行以下内容:

import tensorflow as tf
import numpy as np
import math
import matplotlib.pyplot as plt
import matplotlib.animation as animation

num_house = 160
np.random.seed(42)
house_size = np.random.randint(low=1000, high=3500, size=num_house)

np.random.seed(42)
house_price = house_size * 100.0 + np.random.randint(low=20000, high=70000, size=num_house)

plt.plot(house_size, house_price, "bx")
plt.xlabel("price")
plt.ylabel("size")
plt.show

收到此错误

**RuntimeError**: Python is not installed as a framework. The Mac OS X backend will not be able to function correctly if Python is not installed as a framework.

尝试修复

已咨询此答案 [https://***.com/a/21789908/6813490],但担心更改与全局 matplotlib 设置相关的任何内容会影响此虚拟环境之外的其他项目

【问题讨论】:

我的问题更具体:解决错误无需更改 $HOME 中的 .matplotlib 配置 【参考方案1】:

查看上面的答案Installation Issue with matplotlib Python 并引用其中一个 cmets:

有些用户可能不想更改他们所有的后端 脚本。这一页 - matplotlib.org/faq/usage_faq.html#what-is-a-backend——告诉另一个 方式:包括语句 import matplotlib as mpl then mpl.use('TkAgg') 之后,然后为 pyplot 导入。

并在导入中设置 matplotlib 后端,像这样

import tensorflow as tf
import numpy as np
import math

## SET BACKEND
import matplotlib as mpl
mpl.use('TkAgg')

import matplotlib.pyplot as plt
import matplotlib.animation as animation

num_house = 160
np.random.seed(42)
house_size = np.random.randint(low=1000, high=3500, size=num_house)

np.random.seed(42)
house_price = house_size * 100.0 + np.random.randint(low=20000, high=70000, size=num_house)

plt.plot(house_size, house_price, "bx")
plt.xlabel("price")
plt.ylabel("size")
plt.show

这样,你就不需要去碰$HOME中的matplotlib了

【讨论】:

我按照以下说明为 Python3 安装了 matplotlib:***.com/questions/8605847/…,我遇到了同样的错误。我刚刚添加了 2 行`## SET BACKEND import matplotlib as mpl mpl.use('TkAgg')`,它解决了这个问题。谢谢!

以上是关于修复 matplotlib“未安装为框架”错误,不更改 $HOME 中的 .matplotlib 配置 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

修复matplotlib中散点图中的颜色

PyQt4/matplotlib:如何修复 MatplotlibDeprecationWarning 由于 axes.hold()

Pandas、matplotlib 和 plotly - 如何修复系列图例?

使用 %matplotlib 笔记本时修复 Jupyter 笔记本中的绘图

Matplotlib 画布作为 numpy 数组伪影

Matplotlib 错误:“图包括与紧密布局不兼容的轴”