Cannot import name 'spawn' for pexpect while using pxssh

Oliver Blue picture Oliver Blue · Apr 26, 2016 · Viewed 12.7k times · Source

This is the code I am trying to run:

from pexpect import pxssh
s = pxssh.pxssh()
if not s.login ('myip', 'myusername', 'mypassword'):
    print ("SSH session failed on login.")
    print (str(s))
else:
    print ("SSH session login successful")
    s.sendline ('ls -l')
    s.prompt()         # match the prompt
    print (s.before)     # print everything before the prompt.
    s.logout()

The error which I am getting on running this is :

Traceback (most recent call last):
  File "test_pexpect.py", line 1, in <module>
    from pexpect import pxssh
  File "C:\Python35\lib\site-packages\pexpect\pxssh.py", line 23, in <module>
    from pexpect import ExceptionPexpect, TIMEOUT, EOF, spawn
ImportError: cannot import name 'spawn'

Can anyone help me out? I am using python3.5 on windows

Answer

stefan.stt picture stefan.stt · May 2, 2017

pxssh is not currently supported on Windows.

You can read more about it on https://github.com/pexpect/pexpect/issues/339