Pagina 1 di 1

Aiuto con le impostazioni di installazione

Pubblicato: 19 ottobre 2017 - 10:26
di Arsgunner
Buongiorno,

Sto provando a installare il software SphinxIQ2. Lo sviluppatore fornisce un'utilità che genera un file batch per un'installazione silenziosa. Ho provato a copiare i parametri dal mio file setup.py; corrispondono alla sezione silentflags nella riga seguente:

Codice: Seleziona tutto

install_exe_if_needed("SetupSphinxIQ2.exe",silentflags='/s /v"/qn INSTALLDIR=\"C:\Program Files\SphinxIQ\"" /v"ISSCRIPTCMDLINE=\"MaCléDeLicence\""',key='SphinxIQ2',min_version='7.2.3.0')
Sono ancora alle prime armi con WAPT; questo dovrebbe essere il mio terzo pacchetto e non ho particolari conoscenze di Python. Immagino che stia interpretando male il comando, ma non riesco a capire quale sia il problema. Ho provato a rimuovere le virgolette, che mi sembravano superflue, ma senza successo.

Il messaggio di errore è il seguente:

Codice: Seleziona tutto

Message	File Name	Line	Position	
Traceback				
    <module>	c:\wapt\wapt-get.py	23		
    main	c:\wapt\wapt-get.py	373		
    install_wapt	c:\wapt\common.py	3630		
"CalledProcessErrorOutput: Command '""SetupSphinxIQ2.exe"" /s /v""/qn INSTALLDIR=""C:\\Program Files\\SphinxIQ"""" /v""ISSCRIPTCMDLINE=""-MacléDeLicence""""' returned non-zero exit status 1203.
Output:u''"				
Grazie per l'aiuto

Re: Aiuto con le impostazioni di installazione

Pubblicato: 19 dicembre 2017 - 19:48
di dcardon
Fai attenzione alle barre rovesciate (\) nelle stringhe. Per impostazione predefinita, in Python, come in molti altri linguaggi, sono un carattere di escape. Devi quindi raddoppiarle (\\) o anteporre una 'r' alla stringa. La 'r' indica a Python di interpretare la stringa come un'espressione regolare, e in tal caso le barre rovesciate non vengono più interpretate.

Se riesci a far funzionare una stringa di installazione in un comando cmd.exe, puoi provarla in una funzione run() prima di tentare install_exe_if_needed(). In Python è possibile definire una stringa con virgolette triple: """string""". Questo permette di inserire al suo interno sia virgolette singole che doppie.