为什么IPython.display.Image没有显示在输出中?

时间:2016-02-02 05:09:31

标签: python ipython

我有一个看起来像这样的单元格:

from IPython.display import Image
i = Image(filename='test.png')
i
print("test")

输出只是:

test

我在输出中看不到图像。我检查了文件是否存在(无论如何,如果它不存在,你会收到错误)。

任何线索?

3 个答案:

答案 0 :(得分:8)

使用

创建图像
android:theme="@style/AppTheme"

仅创建要显示的对象。对象通过以下两种操作之一显示:

  1. 直接拨打i = Image(filename='test.png') ,例如

    IPython.display.display(obj)
  2. from IPython.display import display display(i) ,会自动显示单元格的结果,也就是说将displayhook放在单元格的最后一行< / em>的。您的示例中唯一的i不会显示,因为它不是单元格中的最后一个。因此,虽然这不显示图像:

    i

    这会:

    i = Image(filename='test.png')
    i
    print("test")
    

答案 1 :(得分:2)

我遇到了同样的问题。 Matplot lib期望在命令行之外显示无花果,例如在GTK或QT中。

使用此:get_ipython().magic(u'matplotlib inline')

它将启用内联后端,以便与IPython笔记本一起使用。

查看更多herehere

答案 2 :(得分:1)

研究完代码后,我可以说,在Windows中,从IPython 7.1.0开始,%matplotlib inline仅支持此功能,而在交互式IPython shell下则不起作用。

Jupyter中有额外的代码。以下示例适用于

  • jupyter qtconsole
  • jupyter notebook
  • jupyter console原则上,但只能通过外部程序,然后例如删除临时文件

def test_display(): import pyx c = pyx.canvas.canvas() circle = pyx.path.circle(0, 0, 2) c.stroke(circle, [pyx.style.linewidth.Thick,pyx.color.rgb.red]) return c display(test_display())