Re: [Python] Test su locale
Il 29/06/2010 16:09, Pietro Battiston ha scritto: Ohilà, sapreste suggerirmi un modo furbo per fare dei test che giochino con le locale e siano portabili? Questo breve test: http://trac.gispython.org/lab/browser/Shapely/branches/1.2/shapely/tests/wkt_locale.txt è scritto per verificare che shapely - la libreria di cui fa parte - si comporti bene anche con locale in cui il separatore decimale è una virgola. Il problema è che il test ovviamente fallisce sui sistemi in cui la locale prescelta, 'pt_BR.UTF-8', non è installata. Per quel che ne so, l'unica locale che si può presumere installata ovunque è C, che però è inutile per quel che riguarda il test del separatore decimale. Idee? Non sono nemmeno riuscito a capire se esiste un modo (che non sia ravanare tra i file di sistema) per capire _quali_ locale sono disponibili... Non utilizzare il locale di sistema, ed usa invece CLDR http://cldr.unicode.org/ implementato in Babel: http://babel.edgewall.org/ Ciao Manlio ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Test su locale
On Tue, 2010-06-29 at 16:09 +0200, Pietro Battiston wrote: Idee? Non sono nemmeno riuscito a capire se esiste un modo (che non sia ravanare tra i file di sistema) per capire _quali_ locale sono disponibili... su linux, 'locale -a' ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Test su locale
Il giorno mar, 29/06/2010 alle 17.17 +0200, Manlio Perillo ha scritto: Il 29/06/2010 16:09, Pietro Battiston ha scritto: Ohilà, sapreste suggerirmi un modo furbo per fare dei test che giochino con le locale e siano portabili? Questo breve test: http://trac.gispython.org/lab/browser/Shapely/branches/1.2/shapely/tests/wkt_locale.txt è scritto per verificare che shapely - la libreria di cui fa parte - si comporti bene anche con locale in cui il separatore decimale è una virgola. Il problema è che il test ovviamente fallisce sui sistemi in cui la locale prescelta, 'pt_BR.UTF-8', non è installata. Per quel che ne so, l'unica locale che si può presumere installata ovunque è C, che però è inutile per quel che riguarda il test del separatore decimale. Idee? Non sono nemmeno riuscito a capire se esiste un modo (che non sia ravanare tra i file di sistema) per capire _quali_ locale sono disponibili... Non utilizzare il locale di sistema, ed usa invece CLDR http://cldr.unicode.org/ implementato in Babel: http://babel.edgewall.org/ Uhm... se ho capito bene, intendi che non è da cambiare (solo) il test, ma la funzione testata. Ma sempre se ho capito bene, il problema è che la rappresentazioni dei numeri è fornita da una libreria C sottostante e indipendente. E se ho capito miracolosamente bene, babel lo devo decidere di utilizzare esplicitamente io quando rappresento stampo un numero/una data, cosa che invece quella libreria python non fa affatto... Quindi la risposta sarebbe che senza andare a cambiare il codice C, un test come quello semplicemente non può esistere? Pietro ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] Nessuna finestrella su windows
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? Grazie per le risposte, Vittorio ___ 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] Test su locale
Il 29/06/2010 17:54, Pietro Battiston ha scritto: Il giorno mar, 29/06/2010 alle 17.17 +0200, Manlio Perillo ha scritto: Il 29/06/2010 16:09, Pietro Battiston ha scritto: Ohilà, sapreste suggerirmi un modo furbo per fare dei test che giochino con le locale e siano portabili? [...] Idee? Non sono nemmeno riuscito a capire se esiste un modo (che non sia ravanare tra i file di sistema) per capire _quali_ locale sono disponibili... Non utilizzare il locale di sistema, ed usa invece CLDR http://cldr.unicode.org/ implementato in Babel: http://babel.edgewall.org/ Uhm... se ho capito bene, intendi che non è da cambiare (solo) il test, ma la funzione testata. Se devi scrivere codice nuovo o se il codice è tuo (ed è scritto in Python), probabilmente è la scelta migliore. Ma sempre se ho capito bene, il problema è che la rappresentazioni dei numeri è fornita da una libreria C sottostante e indipendente. Il problema è che quel modulo è un wrapper di una libreria C, che quindi accede alle informazioni del locale in C. In questo caso c'è poco da fare; devi installare sul sistema tutti i locale che ti servono. Ciao Manlio ___ 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