Página 1 de 1

[RESUELTO] run(cmd) devuelve un error

Publicado: 28 de enero de 2020 - 19:09
por empbilly
Buen día,

código:

Código: Seleccionar todo

for soft in installed_softwares("NetBeans"):
        try:
            cmd = WAPT.uninstall_cmd(soft['key'])
            if len(cmd) == 2:
                cmd = cmd[0]
            if not '--silent' in cmd:
                cmd = cmd + ' --silent --state {}state.xml'.format(path)
                print(cmd)
                run(cmd)
        except ValueError:
            print('An error occured!')
Estoy ejecutando una instalación de prueba de PyScripter, pero el símbolo del sistema (cmd) devuelve el siguiente error:

Código: Seleccionar todo

CalledProcessErrorOutput: Command 'C:\\Program Files\\NetBeans-11.2\\uninstall.exe --silent --state C:\\ProgramData\\state.xml' returned non-zero exit status 1.
Creo que esto se debe al hecho de que pone "\\" dos barras atrás.

¿Como puedo solucionarlo?

Re: ejecutar(cmd) devuelve un error

Publicado: 28 de enero de 2020 - 20:22
por sfonteneau

Código: Seleccionar todo

for soft in installed_softwares("NetBeans"):
        try:
            cmd = WAPT.uninstall_cmd(soft['key'])
            if len(cmd) == 2:
                cmd = cmd[0]
            if not '--silent' in cmd:
                cmd = '"%s" --silent --state "%s"' % (cmd,makepath(path,'state.xml'))
                print(cmd)
                run(cmd)
        except ValueError:
            print('An error occured!')
¿Puedes probar esto?

Re: ejecutar(cmd) devuelve un error

Publicado: 29 de enero de 2020 - 12:26 p. m.
por empbilly
¿Puedes probar esto?
Lo siento, no entendí tu pregunta! :D
...
cmd = '"%s" --silent --state "%s"' % (cmd,makepath(ruta,'estado.xml'))
...
En las pruebas de ejecución local con el psiquiatra, funcionó.
Imagen

En producción, vuelve a insertar las barras invertidas "\\" en la ruta del software y genera un error.

Código: Seleccionar todo

CalledProcessErrorOutput: Command '"C:\\Program Files\\NetBeans-11.2\\uninstall.exe" --silent  returned non-zero exit status 1. 
¿Alguna idea?

Re: ejecutar(cmd) devuelve un error

Publicado: 31 de enero de 2020 - 14:50
por empbilly
¿Alguna ayuda?

Re: ejecutar(cmd) devuelve un error

Publicado: 7 de febrero de 2020 - 12:28 p. m.
por empbilly
¡Los chicos de Reddit me están ayudando! ¡Ahora todo está bien!

Código: Seleccionar todo

for soft in installed_softwares("NetBeans"):
        try:
            cmd = "{} --silent\
                -J-Dremove.netbeans.installdir=true \
                -J-Dremove.netbeans.userdir=true".format(soft['uninstall_string'])
            print("Uninstall string: {}".format(cmd))
            run(cmd)
        except ValueError:
            print('[ERROR] An error occured!\n')

Re: ejecutar(cmd) devuelve un error

Publicado: 11 de febrero de 2020 - 17:20
por dcardon
Hola Empbilly,
empbilly escribió: 7 de febrero de 2020 - 12:28 ¡Los chicos de Reddit me están ayudando! ¡Ahora todo está bien!

Código: Seleccionar todo

for soft in installed_softwares("NetBeans"):
        try:
            cmd = "{} --silent\
                -J-Dremove.netbeans.installdir=true \
                -J-Dremove.netbeans.userdir=true".format(soft['uninstall_string'])
            print("Uninstall string: {}".format(cmd))
            run(cmd)
        except ValueError:
            print('[ERROR] An error occured!\n')
En realidad, son las mismas personas amables de Tranquil IT las que vigilan tanto Reddit (para personas de habla inglesa) como este foro (para personas de habla francesa) ;-)

Denis