Considere usar una ruta absoluta para la ejecución de su comando.
Algunos binarios no se encuentran en PATH
dependiendo de su usuario, sistema e instalación de software.
Para averiguar dónde sqlplus
reside, ejecute lo siguiente en cmd.exe
:where sqlplus
y eso debería darte la ruta absoluta.
Entonces simplemente haz:
Popen(['C:/path/sqlplus.exe', '-S', ...])
También para averiguar qué hay realmente en tu PATH
variable de entorno, podría hacer lo siguiente:
print(os.environ['PATH'])