switch to subprocess.Popen and use getpass