On Nov 15, 9:48*am, s...@pobox.com wrote:
Thanks. *I wasn't aware there was a documented way to check for
interactivity. *
That's more of a side-effect than the actual intent of those
attributes, which are there to hold the interpreter prompts. But it
does seem to be the only way.
It might be worth noting that this -doesn't- hold true for iPython:
IPython 0.9.1 -- An enhanced Interactive Python.
[...]
In [1]: import sys
In [2]: hasattr(sys, 'ps1')
Out[2]: False
It would have been more obvious if sys had an
"isinteractive" method or attribute.
You could add the following to your sitecustomize.py:
sys.isinteractive = hasattr(sys, 'ps1')
If you want to check for iPython as well:
sys.isinteractive = hasattr(sys, 'ps1') or hasattr(sys,
'ipcompleter')