Re: [Python] Nessuna finestrella su windows
2010/6/30 Vittorio Zuccala' vittorio.zucc...@gmail.com Ero abituato in dove si dovevano usare un paio di opzioni con lo stesso eseguibile. In questa lista sono vietate le parolacce. Grazie :-) Ciao. Marco. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Nessuna finestrella su windows
Il giorno mar, 29/06/2010 alle 18.37 +0200, Vittorio Zuccala' ha scritto: Ciao a tutti, sicuramente è una FAQ ma purtroppo non riesco a trovare la soluzione al problema (forse un problema di parole chiavi :-( ) Ho uno script in python che viene lanciato su windows tramite le operazioni pianificate e non necessita di interazione con l'utente. Quali opzioni o procedura posso attuare per non far apparire la finestrella del prompt del MSDOS ad ogni avvio (evitando per altro che l'utente la chiuda inavvertitamente? Prova a rinominare il modulo in .pyw. Ciao. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Nessuna finestrella su windows
Il giorno mar, 29/06/2010 alle 19.58 +0200, Daniele Varrazzo ha scritto: Questo funziona solo se si fa doppio click sull'icona in gestione risorse. Se lo script è schedulato, invoca pythonw.exe invece di python.exe (che è quello che succede dietro le quinte coi file .pyw) Quindi se lo script è schedulato e lo si salva con estensione .pyw non cambia nulla? Si deve impostare pythonw.exe manualmente? ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Nessuna finestrella su windows
On Tue, 29 Jun 2010 20:06:44 +0200, Valerio Turturici turturici.vale...@gmail.com wrote: Il giorno mar, 29/06/2010 alle 19.58 +0200, Daniele Varrazzo ha scritto: Questo funziona solo se si fa doppio click sull'icona in gestione risorse. Se lo script è schedulato, invoca pythonw.exe invece di python.exe (che è quello che succede dietro le quinte coi file .pyw) Quindi se lo script è schedulato e lo si salva con estensione .pyw non cambia nulla? Si deve impostare pythonw.exe manualmente? Prova ad andare in una sessione dos e a digitare il nome di uno script: viene eseguito o no? vado a tentoni, non ho windows qui e non lo uso da tanto, ma mi sembra che tu non possa eseguire lo script come sotto unix impostando il permesso +x. Quindi se vuoi eseguire lo script devi invocare esplicitamente l'interprete. Sempre andando a memoria, su windows ci sono 2 interpreti: python.exe e pythonw.exe, che hanno la differenza di cui si è parlato. Probabilmente, per schedulare lo script, Vittorio ha un C:\python26\python.exe C:\da\qualche\parte\lo\script.py. In questo caso sostituendo python.exe con pythonw.exe la console non dovrebbe comparire. -- Daniele Varrazzo - Develer S.r.l. http://www.develer.com ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Nessuna finestrella su windows
Il giorno mar, 29/06/2010 alle 20.16 +0200, Daniele Varrazzo ha scritto: Prova ad andare in una sessione dos e a digitare il nome di uno script: viene eseguito o no? vado a tentoni, non ho windows qui e non lo uso da tanto, ma mi sembra che tu non possa eseguire lo script come sotto unix impostando il permesso +x. Non uso Windows da tanto e sul portatile non ce l'ho, però ricordo che per eseguire uno script si deve scrivere python nome.py. Quindi se vuoi eseguire lo script devi invocare esplicitamente l'interprete. Esattamente. Sempre andando a memoria, su windows ci sono 2 interpreti: python.exe e pythonw.exe, che hanno la differenza di cui si è parlato. Si. Probabilmente, per schedulare lo script, Vittorio ha un C:\python26\python.exe C:\da\qualche\parte\lo\script.py. In questo caso sostituendo python.exe con pythonw.exe la console non dovrebbe comparire. Non ho mai schedulato script su Windows, però se si deve solo inserire il percorso dello script, allora rinominarlo in .pyw dovrebbe bastare visto che l'interprete pythonw.exe viene chiamato in automatico. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Nessuna finestrella su windows
On Tue, 29 Jun 2010 20:35:58 +0200, Valerio Turturici turturici.vale...@gmail.com wrote: Il giorno mar, 29/06/2010 alle 20.16 +0200, Daniele Varrazzo ha scritto: Prova ad andare in una sessione dos e a digitare il nome di uno script: viene eseguito o no? vado a tentoni, non ho windows qui e non lo uso da Non uso Windows da tanto e sul portatile non ce l'ho, però ricordo che per eseguire uno script si deve scrivere python nome.py. Probabilmente, per schedulare lo script, Vittorio ha un Non ho mai schedulato script su Windows, però se si deve solo inserire Ok, visto che stiamo andando alla cieca tutti e due :D lasciamo fare le prove a Vittorio: ormai ha tutti gli elementi sottomano e può risolvere il problema :) Ormai avrà capito che l'estenzione .pyw e l'eseguibile pythonw sono strettamente correlati. -- Daniele Varrazzo - Develer S.r.l. http://www.develer.com ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Nessuna finestrella su windows
Il 29/06/2010 20:16, Daniele Varrazzo ha scritto: [...] Prova ad andare in una sessione dos e a digitare il nome di uno script: viene eseguito o no? vado a tentoni, non ho windows qui e non lo uso da tanto, ma mi sembra che tu non possa eseguire lo script come sotto unix impostando il permesso +x. Quindi se vuoi eseguire lo script devi invocare esplicitamente l'interprete. Non è corretto. Puoi rendere uno script eseguibile aggiungendo il path .py e .pyw nella variabile di ambiente PATHEXT. Di default (almeno sulla versione che sto usando) il valore è: .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH Se aggiungi .PY;.PYW dovrebbe funzionare. Invece di utilizzare la shebang, Windows sa cosa utilizzare per eseguire un file utilizzando le informazioni che si trovano nel registro di configurazione, in HKEY_LOCAL_MACHINE\SOFTWARE\Classes: http://support.microsoft.com/kb/257592 Ad esempio: HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Python.File\shell\open\command - `C:\Python26\python.exe %01 %*` Il problema è quando hai più versioni di Python installate sul sistema; verrà sempre utilizzata l'ultima installata. [...] Ciao Manlio ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Nessuna finestrella su windows
Il 29/06/2010 22:31, Daniele Varrazzo ha scritto: [...] Non è corretto. Puoi rendere uno script eseguibile aggiungendo il path .py e .pyw nella variabile di ambiente PATHEXT. Di default (almeno sulla versione che sto usando) il valore è: .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH Se aggiungi .PY;.PYW dovrebbe funzionare. Pathext serve per lo più per il lavoro in interattivo. Se ci si affida a quello, lo script diventa dipendente da una variabile d'ambiente che va settata per l'utente giusto Cosa intendi con utente giusto? PATHEXT può semplicemente essere impostata come variabile di ambiente globale. (che non so quanto sia facile su windows). È c'è sempre il problema che riferisci anche tu in caso di installazione multipla. Potrebbe, ma non ne sono sicuro e figurati se controllo, essere anche una variabile interpretata da cmd.exe e che quindi viene ignorata dallo scheduler. Il nome della chiave fa capire che è usato dalla shell; resta da vedere come lo scheduler esegua i programmi. PATHEXT credo dovrebbe essere utilizzato dalla funzione ShellExecuteEx: http://msdn.microsoft.com/en-us/library/bb759784(v=VS.85).aspx Tutto sommato ignorerei l'esistenza di PATHEXT per qualunque cosa aspiri ad essere un minimo robusta. Su questo concordo; se è possibile meglio specificare l'interprete esplicitamente. Ciao Manlio ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python