如何在Spyder的iPython控制台中显示所有警告?

时间:2017-04-27 01:42:27

标签: ipython spyder

Spyder中的iPython控制台(当从Spyder的一个选项卡中运行时)似乎默认情况下会删除警告。此行为与独立运行的iPython控制台不同。

很容易重现。创建仅包含以下内容的文件:

import sys
print sys.argv

请注意,这是无效的Python 3,因为print没有括号。在iPython中运行(不在Spyder中),您将看到以下内容:

In [305]: run test.py test args
  File "C:\Users\sdewey\Documents\intro to ML with python\test.py", line 13
    print sys.argv
        ^
SyntaxError: Missing parentheses in call to 'print'

如果您在Spyder的iPython选项卡中运行相同的内容,您将收到空白回复:

In [9]: run test.py test args

In [10]: 

请注意,如果您运行的程序没有错误,您将像往常一样在Spyder中看到结果。例如,如果您在此处修复括号,您将在控制台中看到打印的argv。只有错误输出似乎受到影响,而不是标准输出。

我通过Anaconda 4.3.1获得了Spyder的这个副本。这是Spyder 3.1.2,Python 3.6。我已经查看了Spyder的偏好,但没有看到任何可以解决失败问题的方法。

我的工作假设是,这与错误输出与标准输出有关。这是一个Windows安装,所以我不认为有不同的流,但我可能会弄错。

1 个答案:

答案 0 :(得分:1)

Spyder开发人员)您需要将qtconsole软件包更新为其版本 4.3 以修复此错误。

如果您使用的是Anaconda,则需要打开终端(cmd.exe)并运行此命令

conda update qtconsole

如果没有,则需要运行

pip install -U qtconsole