【问题标题】:Spyder not showing stderr output in IPython console when running commands with os.system使用 os.system 运行命令时,Spyder 未在 IPython 控制台中显示 stderr 输出
【发布时间】:2018-11-28 01:17:06
【问题描述】:

设置: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

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

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

非常感谢!

【问题讨论】:

    标签: ipython spyder stderr


    【解决方案1】:

    此处是 Spyder 维护者)这已在为我们的控制台提供内核的软件包 spyder-kernels 0.3.0 中得到修复。固定是指外部命令的标准输出和标准错误现在都直接显示在我们的 IPython 控制台中。

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

    conda install spyder-kernels=0.*

    如果您使用 Anaconda(目前不可用,但应该很快,请稍等),或

    pip install spyder-kernels==0.*

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

    【讨论】:

    • 那么请按左侧柜台下方的绿色复选标记,将我的答案标记为正确。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-21
    • 2020-11-19
    • 1970-01-01
    • 2020-02-25
    • 2018-05-15
    • 2013-10-05
    • 2020-03-13
    相关资源
    最近更新 更多