2

我将 LightTable 与 Anaconda Python 发行版(适用于 Mac)一起使用。我试图让 Matplotlib 内联图出现在一个简单的代码中,如下所示(但plt.show()命令未注释):

# -*- coding: ascii -*-
import numpy as np
import matplotlib.pyplot as plt

def myplot():
  x = np.linspace(0.0, np.pi, 400)
  y = np.sin(x)
  plt.plot(x, y, lw=2, c='r')
  #plt.show()
  return(np.trapz(y,x))

myplot()

在上面的代码片段中取消注释plt.show()并运行myplot()后,屏幕上会短暂出现一个白色矩形,然后消失。在此之后,再次注释掉后plt.show(),LightTable 中的 python 内联评估变为非活动状态(除非重新启动 LightTable)。此外,即使 python 和 ipython(Anaconda 发行版)都在我的路径上,连接栏也显示pythonand not ipython,并且 LightTable 似乎能够看到它们(如下图所示): LightTablePython.png

可能是 libpng 问题(请参阅全新安装 IPython 中的 libpng 版本不兼容),还是我需要ipython notebook --matplotlib=inline在 LightTable 配置中放置某个位置?

我当前的 LightTable 版本:0.7.2。在 Ubuntu 14.04 上没有问题。

更新:我通过重新安装 Anaconda 2.1.0(但没有任何额外的包)找到了部分修复:

rm -rf ~/anaconda
bash ~/Downloads/Anaconda-2.1.0-MacOSX-x86_64.sh 

但是,重新安装 Anaconda 2.2.0 不起作用:

rm -rf ~/anaconda
bash ~/Downloads/Anaconda-2.2.0-MacOSX-x86_64.sh 

所以显然降级到 Anaconda 2.1.0 是部分修复,但从长远来看,我希望让我的包保持最新。其中一个软件包是否有问题(下面的版本号截图)?

LightTable + Anaconda 2.1.0: LightTable + Anaconda 2.1.0

LightTable + Anaconda 2.2.0: LightTable + Anaconda 2.2.0

4

1 回答 1

0

内联 matplotlib 图总是有问题的主要原因是它使用了 iPython matplotlib 内联图。由于 iPython 不断变化并且 [LightTable] 的核心开发团队不再维护 LightTable 的 python 支持,这个问题将继续再次出现。

cldwalker 于 2015 年 11 月 6 日发表评论

核心团队在工作中不使用 Python 或 iPython,也没有足够的时间来研究这个问题。很高兴接受任何有兴趣深入研究的人的贡献。我们还在寻找 Python 插件的维护者,最好是使用它来工作的人。#31 似乎是一个可能的解决方案,但贡献者可以使用评论。

于 2018-04-26T12:11:01.647 回答