Spyder не показывает вывод stderr в консоли IPython при выполнении команд с os.system

Установка: MacOS High Sierra, Spyder 3.3.1, Python 2.7.15 64 бита, Qt 5.9.4, PyQt5 5.9.2 на Darwin

Я запускаю следующий код в консоли IPython в Spyder:

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

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

Я вижу вывод на стандартный вывод команды ls в оболочке bash, где я запускаю spyder, но не на стандартный вывод второго вызова os.system, который должен печатать sh: asdasd: command not found.

Куда spyder перенаправляет stderr? Есть ли способ увидеть сообщения об ошибках, подобные тем, которые были созданы во втором случае?

Большое спасибо!


person pfiziev    schedule 28.11.2018    source источник


Ответы (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.

person Carlos Cordoba    schedule 28.11.2018
comment
Тогда, пожалуйста, отметьте мой ответ как правильный, нажав зеленую галочку под счетчиком слева. Спасибо! - person Carlos Cordoba; 29.11.2018