[Python-Dev] Python REPL doesn't work on Windows over remote powershell session (winrm)
ZHU Xiang <xiang.zhu at outlook.com> writes:
> Steps to reproduce
> # 1/ pre-install python on server1 (server 1 is a windows os)
> # 2/ from a powershell console on server0, type below 2 commands:
> enter-pssession server1
> Expected behavior
> # The python >>> prompt appears
> Actual behavior
> # Nothing, it is still the powershell prompt
Still the powershell prompt or nothing at all? If the latter, try using
"python -i" instead. The "-i" will force interactive mode if stdin
isn't otherwise detected as interactive (under the covers, isatty() is
false for stdin), which is where I believe the issue is.
I've used that under Windows ssh sessions (though with cygwin rather
than powershell as well as some of my own remoting tools) for as long as
I can remember (certainly back to XP and Python 2.x - maybe 1.x) for an
interactive prompt when operating without a local windows console.
I'm not sure if there's any better way for Python to detect a remote
shell as being interactive under Windows that would cover such cases.
Perhaps some of the newer pty changes I read Microsoft is making might
help, assuming it flows through to the isatty() test.