当 运行 使用 os.system 命令时,Spyder 在 IPython 控制台中不显示 stderr 输出

Spyder not showing stderr output in IPython console when running commands with os.system

设置:MacOS High Sierra、Spyder 3.3.1、Python 2.7.15 64 位、Qt 5.9.4、Darwin 上的 PyQt5 5.9.2

我 运行 在 Spyder 的 IPython 控制台中输入以下代码:

In [1]: import os
In [2]: os.system("ls")
Out[2]: 0

In [3]: os.system("aasdasd") 
Out[3]: 32512

我可以在 bash shell 中看到 ls 命令的输出到 stdout,我 运行 spyder,但看不到第二个 os.system 应该打印 sh: asdasd: command not found 的调用。

spyder 将 stderr 重定向到哪里?有没有办法查看第二种情况中生成的错误消息?

非常感谢!

(Spyder maintainer here) 这已在 spyder-kernels 0.3.0 中修复,该软件包为我们提供内核控制台。固定是指外部命令的 stdout 和 stderr 现在都直接显示在我们的 IPython 控制台中。

要更新 spyder-kernels,请在系统终端(xterm 或 Terminal.app 中关闭 Spyder 和 运行,这在 Windows 上不起作用:

conda install spyder-kernels=0.*

如果你使用Anaconda(目前还没有,但应该很快就会有,请稍等),或者

pip install spyder-kernels==0.*

如果您使用自定义 Python 安装。