Re: [Python] Nessuna finestrella su windows

2010-06-29 Per discussione Manlio Perillo
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


Re: [Python] Nessuna finestrella su windows

2010-06-29 Per discussione Daniele Varrazzo
On Tue, 29 Jun 2010 21:54:27 +0200, Manlio Perillo
 wrote:
> 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.

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 (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. Tutto sommato ignorerei l'esistenza di PATHEXT per
qualunque cosa aspiri ad essere un minimo robusta.

-- Daniele

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Nessuna finestrella su windows

2010-06-29 Per discussione Manlio Perillo
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

2010-06-29 Per discussione Daniele Varrazzo
On Tue, 29 Jun 2010 20:35:58 +0200, Valerio Turturici
 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

2010-06-29 Per discussione Valerio Turturici
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] Test su locale

2010-06-29 Per discussione Manlio Perillo
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

2010-06-29 Per discussione Daniele Varrazzo
On Tue, 29 Jun 2010 20:06:44 +0200, Valerio Turturici
 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

2010-06-29 Per discussione Valerio Turturici
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

2010-06-29 Per discussione Daniele Varrazzo
On Tue, 29 Jun 2010 19:18:54 +0200, Valerio Turturici
 wrote:
> 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".

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)

-- 
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

2010-06-29 Per discussione Valerio Turturici
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


[Python] Nessuna finestrella su windows

2010-06-29 Per discussione Vittorio Zuccala'
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] Test su locale

2010-06-29 Per discussione Pietro Battiston
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


Re: [Python] Test su locale

2010-06-29 Per discussione Marco Mariani
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

2010-06-29 Per discussione Manlio Perillo
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


[Python] Test su locale

2010-06-29 Per discussione Pietro Battiston
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...

graz

Pietro


___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python