4

我昨天将我的 python 发行版更新为 EPD 7.3-2(64 位)。我正在使用带有雪豹的Mac。现在 matplotlib 的绘图设备至少在两个方面被破坏:

  1. “保存”按钮不起作用并使终端或ipython崩溃和
  2. 看到该图的唯一方法是将它放在您面前,Dock 中没有蟒蛇图图标。

我做了功课,在这里这里都报告了同样的问题。

我尝试按照此处给出的说明解决此问题,但这是我得到的错误:

$python install_pythonw.py `which python`/../..
/Library/Frameworks/EPD64.framework/Versions/Current/.Python does not exist; exiting.

确实,我查看了给定的文件夹,但找不到.Python文件。我在这个问题的答案中添加了一条评论,但到目前为止没有人回复它:( :( 知道如何解决这个问题吗?谢谢!

4

1 回答 1

2

这个问题我见过几次,在某些后端似乎是个问题。此外,您的会话在 4 或 5 次绘图后崩溃似乎并不正常。特别是,MacOSX后端似乎有问题。

当您安装 EPD 时,我认为您的安装损坏的可能性较小。该解决方案似乎使用了不同的后端。您可以尝试ipython --pylab一些后端,尝试它们的功能并查看保存按钮是否有效。您可以尝试以下方法:

ipython --pylab=wx
ipython --pylab=tk
ipython --pylab=osx

最后一个是您现在可能正在使用的选项,因此可能不是最好的。如果您只是调用ipython --pylab,它将使用您~/.matplotlib/matplotlibrc文件中的默认后端。找到工作后端后,您可以通过编辑该文件来更改默认值。寻找这样的一行:

backend      :  MacOSX

(您的版本可能有不同的后端。)只需将该设置更改为WXAggTkAggQt4Agg。使用该--pylab选项,名称略有不同,它们没有该Agg部分。我最喜欢的 OSX 后端是Qt4Agg后端,但我认为它不随 EPD 一起提供,并且保存按钮也不起作用!但要么WXAggTkAgg应该工作正常。

在脚本中更改后端的其他方法是:

import matplotlib
matplotlib.use('WXAgg')

或者

matplotlib.rcParams['backend'] = 'WXAgg' 
于 2012-12-10T06:35:49.303 回答