设置:Darwin上的MacOS High Sierra,Spyder 3.3.1,Python 2.7.15 64位,Qt 5.9.4,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
在运行spyder的bash shell中,我可以看到输出到ls
命令的stdout的输出,但是看不到应该打印os.system
的第二个sh: asdasd: command not found
调用的stderr的输出。
spyder将stderr重定向到哪里?有没有办法查看第二种情况下生成的错误消息?
非常感谢您!
答案 0 :(得分:1)
(此处为 Spyder维护程序)已在spyder-kernels
0.3.0 中进行了修复,该软件包为控制台提供了内核。固定的意思是,外部命令的stdout和stderr现在都直接显示在我们的IPython控制台中。
要更新spyder-kernels
,请关闭Spyder并在系统终端(xterm或Terminal.app,在Windows上不起作用)上运行:
conda install spyder-kernels=0.*
如果您使用的是Anaconda(目前尚不可用,但是应该很快,请耐心等待),或者
pip install spyder-kernels==0.*
如果您使用自定义Python安装。