当 运行 使用 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 安装。
设置: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 安装。