Re: [Python] Interfacce grafiche
Il 08/12/07, Christian<[EMAIL PROTECTED]> ha scritto: accidentalmente non ho risposto alla lista, rimando. > Grazie intanto per la risposta. > Solo un ultimo dettaglio: > parlando con un amico questo mi ha detto che per usare le Qt senza > licenza non devo chiudere il codice (come hai detto anche tu) ma in > aggiunta mi ha detto che devo rilasciarlo, ossia metterlo a disposizione > su un mio sito o su un altro (tipo sourceforge). > E' corretto? Dipende per che audience sviluppi l'applicazione, se è un'applicazione che sviluppi per un tuo cliente e la rilasci sotto GPL i sorgenti vanno dati solo a quest'ultimo, se rilasci (o vendi) i binari, ad esempio su un tuo sito web, dichiarando che è sotto licenza GPL devi rendere disponibili anche i sorgenti. Questa è una rapida ed imprecisa descrizione, per i dettagli ti consiglio di leggere le rispettive licenze delle Qt ed il testo della GPL oppure di scrivere in una mailing list dedicata all'argomento, e.g. Assoli. ciao -- Gian Mario Tagliaretti ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Interfacce grafiche
Christian ha scritto: > Salve a tutti, > cosa mi consigliate di utilizzare per realizzare interfacce grafiche con > Python? > Io avrei da dover personalizzare del software sviluppo con le Qt ma se > questa personalizzazione fosse per usi commerciali mi pare di aver > capito che occorrano delle licenze... In realtà ho un po di confusione > in proposito... ossia ho letto che per linux la libreria sarebbe libera > mentre sotto Windows lo sarebbe solo per usi non commerciali. Ora questo > è riguarda la piattaforma di sviluppo potendo quindi sviluppare sotto > linux e rilasciare tranquillamente anche per utenti windows oppure no? > Per quanto riguarda invece le Gtk mi sembra che il discorso sia diverso, > ossia che non ci siano particolari restrizioni ne sulla piattaforma ne > sull'uso (commerciale o no). > Potete consigliarmi? > Rispondo io con un'altra domanda: perché non wxwidgets? Funziona ovunque (OK, non su windows mobile, QUASI ovunque) e ovunque è nativo, perché usa le librerie "autoctone". Io l'ho usato poco (e comunque con successo), e mi sembra la soluzione definitiva... ma non ho mai fatto una grande attenzione alle performance (non ne avevo bisogno per il mio semplicissimo programma). Qualcuno ne potrebbe dire qualcosa di più preciso? Pietro ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Interfacce grafiche
Pietro Battiston ha scritto: > Christian ha scritto: >> Salve a tutti, >> cosa mi consigliate di utilizzare per realizzare interfacce grafiche con >> Python? >> Io avrei da dover personalizzare del software sviluppo con le Qt ma se >> questa personalizzazione fosse per usi commerciali mi pare di aver >> capito che occorrano delle licenze... In realtà ho un po di confusione >> in proposito... ossia ho letto che per linux la libreria sarebbe libera >> mentre sotto Windows lo sarebbe solo per usi non commerciali. Ora questo >> è riguarda la piattaforma di sviluppo potendo quindi sviluppare sotto >> linux e rilasciare tranquillamente anche per utenti windows oppure no? >> Per quanto riguarda invece le Gtk mi sembra che il discorso sia diverso, >> ossia che non ci siano particolari restrizioni ne sulla piattaforma ne >> sull'uso (commerciale o no). >> Potete consigliarmi? >> > > Rispondo io con un'altra domanda: perché non wxwidgets? Funziona ovunque > (OK, non su windows mobile, QUASI ovunque) e ovunque è nativo, perché > usa le librerie "autoctone". > > Io l'ho usato poco (e comunque con successo), e mi sembra la soluzione > definitiva... ma non ho mai fatto una grande attenzione alle performance > (non ne avevo bisogno per il mio semplicissimo programma). > > Qualcuno ne potrebbe dire qualcosa di più preciso? Quoto. Ho usato estensivamente sia Wx che Qt. Le Qt sono più raffinate, non c'è che dire. Per soli meriti tecnici sono superiori a ogni altro sistema di widgets. Ma: - se vuoi scrivere un programma commerciale e non vuoi pagare licenze di sviluppo oppure - se vuoi scrivere o contribuire a programmi open *che NON siano GPL* allora tieniti lontano dalle Qt, altrimenti la tua testa esploderà :) Riguardo il secondo punto, la faccenda è intricata, ma sostanzialmente Qt lega male con qualunque licenza open che non sia GPL. Per esempio se tu volessi fare un frontend per PostgreSQL (licenza BSD) o per Subversion (Apache/BSD) il tuo programma non potrà mai essere distribuito insieme a questi package ma dovrà sempre essere "a parte". Quindi se hai una vaga, minima e remota possibilità di cadere in una delle voci di sopra, ti consiglio di passare direttamente a wxWidgets/wxPython, che non hanno restrizioni di licenza, hanno una ottima documentazione (e che puoi praticamente imparare solo guardando la demo) e hanno un aspetto decente anche su Windows. -- 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] Interfacce grafiche
2007/12/8, Daniele Varrazzo <[EMAIL PROTECTED]>: > Le Qt sono più raffinate, non c'è che dire. Per soli meriti tecnici sono > superiori a ogni altro sistema di widgets. Ma: Mi ero tenuto lontano da questioni tecniche ma tu mi ci tiri dentro :). La tua è una *rispettabilissima* opinione personale, non si può dire in assoluto che le Qt siano migliori, così come non lo si può dire di altri toolkit. > Quindi se hai una vaga, minima e remota possibilità di cadere in una delle > voci di sopra, ti consiglio di passare direttamente a wxWidgets/wxPython, che > non hanno restrizioni di licenza, hanno una ottima documentazione (e che puoi > praticamente imparare solo guardando la demo) e hanno un aspetto decente anche > su Windows. Tutto si può dire delle wx ma non che abbiano un'ottima documentazione. Il discorso sui toolkit è come quello su quale sia la migliore IDE... ciao -- Gian Mario Tagliaretti ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Interfacce grafiche
Gian Mario Tagliaretti ha scritto: > 2007/12/8, Daniele Varrazzo <[EMAIL PROTECTED]>: > >> Le Qt sono più raffinate, non c'è che dire. Per soli meriti tecnici sono >> superiori a ogni altro sistema di widgets. Ma: > > Mi ero tenuto lontano da questioni tecniche ma tu mi ci tiri dentro :). > > La tua è una *rispettabilissima* opinione personale, non si può dire > in assoluto che le Qt siano migliori, così come non lo si può dire di > altri toolkit. > >> Quindi se hai una vaga, minima e remota possibilità di cadere in una delle >> voci di sopra, ti consiglio di passare direttamente a wxWidgets/wxPython, che >> non hanno restrizioni di licenza, hanno una ottima documentazione (e che puoi >> praticamente imparare solo guardando la demo) e hanno un aspetto decente >> anche >> su Windows. > > Tutto si può dire delle wx ma non che abbiano un'ottima documentazione. > > Il discorso sui toolkit è come quello su quale sia la migliore IDE... Ok, no flamewar, plz. Ho usato entrambi i framework e questo è il mio giudizio. Passo e chiudo. -- 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] Interfacce grafiche
Pietro Battiston ha scritto: > Rispondo io con un'altra domanda: perché non wxwidgets? Funziona ovunque > (OK, non su windows mobile, QUASI ovunque) e ovunque è nativo, perché > usa le librerie "autoctone". > Mi autorispondo per una piccola precisazione, anche se infima, forse scontata e forse OT: wxwidgets non funziona /con python/ su Windows Mobile; in generale non so. Pietro ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Python logging
On 2 Dec, 10:27 pm, [EMAIL PROTECTED] wrote: Non ho mai sentito niente del genere. Il modulo logging non ha bug aperti. Vedi se ti dà indicazioni maggiori. Lo sai che il nostro Splendido Presidente a volte � un po' duro nei suoi giudizi :) Lo sono ma sempre con una ragione :). Per quanto ne so io, il modulo è sicuro. Nella parte di sorgenti che ho letto, mi sembra che le zone critiche siano protette da lock. Non l'ho sottoposto a chissà che analisi, ma logging è un modulo molto usato da tantissime persone, tanto che di logger alternativi non ne è spuntato quasi nessuno. Direi che, se non altro, ad essere thread-safe ci prova :) Non hai guardato troppo bene diciamo :). Anche se il problema e` piu` generalizzato del semplice modulo logging (che comunque ha problemi di suo). In realta` il problema principale e` che nessun fd in python e` threadsafe. E` un baco noto e non credo lo sistemeranno, tutti gli fd acquisiscono e rilasciano lock nel momento sbagliato. Inoltre ti ricordo sempre questo: import logging, threading class C(object): def __init__(self): print threading.currentThread() def __del__(self): print threading.currentThread() logging.warn('deleted %r' % self) if __name__ == '__main__': c = C() :) ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Interfacce grafiche
On Dec 8, 2007, at 1:01 PM, Daniele Varrazzo wrote: > Riguardo il secondo punto, la faccenda è intricata, ma > sostanzialmente Qt lega > male con qualunque licenza open che non sia GPL. Per esempio se tu > volessi > fare un frontend per PostgreSQL (licenza BSD) o per Subversion > (Apache/BSD) il > tuo programma non potrà mai essere distribuito insieme a questi > package ma > dovrà sempre essere "a parte". Non mi risulta *affatto*. Da codice GPL si può chiamare senza problemi codice sotto BSD, Apache/BSD, MIT etc. E' il contrario che è un problema. D'altra parte leggi la BSD: trova dove sta scritto che una libreria sotto tale licenza non possa essere chiamata da codice sotto GPL. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Interfacce grafiche
Enrico Franchi ha scritto: > On Dec 8, 2007, at 1:01 PM, Daniele Varrazzo wrote: > >> Riguardo il secondo punto, la faccenda è intricata, ma >> sostanzialmente Qt lega >> male con qualunque licenza open che non sia GPL. Per esempio se tu >> volessi >> fare un frontend per PostgreSQL (licenza BSD) o per Subversion >> (Apache/BSD) il >> tuo programma non potrà mai essere distribuito insieme a questi >> package ma >> dovrà sempre essere "a parte". > > > Non mi risulta *affatto*. Da codice GPL si può chiamare senza problemi > codice sotto BSD, Apache/BSD, MIT etc. > > E' il contrario che è un problema. D'altra parte leggi la BSD: trova > dove sta scritto che una libreria sotto tale licenza non possa essere > chiamata da codice sotto GPL. Sto parlando di distribuzione, non di utilizzo. Es. Il dizionario italiano per il PostgreSQL (http://www.develer.com/~piro/ispell-italian/) è rilasciato sotto licenza GPL (perché nasce da un progetto GPL). Non può essere *incluso nel package* di PostgreSQL perché le due licenze sono incompatibili. Questo non vuol dire che non possa essere usato, ma va scaricato da un'altra parte e messo insieme "a valle", dall'assemblatore di una distro o dall'utente finale. -- 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] Interfacce grafiche
On Dec 8, 2007, at 5:12 PM, Daniele Varrazzo wrote: > Sto parlando di distribuzione, non di utilizzo. > > Es. Il dizionario italiano per il PostgreSQL > (http://www.develer.com/~piro/ispell-italian/) è rilasciato sotto > licenza GPL > (perché nasce da un progetto GPL). Non può essere *incluso nel > package* di > PostgreSQL perché le due licenze sono incompatibili. > > Questo non vuol dire che non possa essere usato, ma va scaricato da > un'altra > parte e messo insieme "a valle", dall'assemblatore di una distro o > dall'utente > finale. Certo, ma è sempre il problema opposto. Ovvero, il front-end qt per postgres non può essere distribuito assieme a postgres, ma viceversa puoi distribuire postgres assieme al front-end. Buffo, ma possibile. Comunque sostanzialmente io ho letto la tua frase all'inverso. Tornando a noi, posto che io pure se non ho un buon motivo per usare GPL non la uso, complessivamente se dovessi scegliere una GUI cross- platform, credo che userei Qt e mi rassegnerei a GPL. Purtroppo GTK è ancora balzana sotto OS X (e io ci sviluppo, figuriamoci se non mi interessa che sia comodo! :) ). Tkinter è ottimo per piccole cose, frontend buttati su al volo tanto per, ma è osceno da vedere (a meno di non fare *molta* attenzione). wx continua a non convincermi. Tutt'ora non ho visto applicazioni wx decenti sotto OS X, mentre ne ho viste abbastanza Qt. Delle quali almeno una è piccola abbastanza da farmi pensare che non ci siano uccisi sopra. Oltre che ho visto che con un minimo di accortezza è abbastanza facile fare cose decorose sotto OS X con Qt. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Python logging
[EMAIL PROTECTED] ha scritto: > On 2 Dec, 10:27 pm, [EMAIL PROTECTED] wrote: >> Non ho mai sentito niente del genere. Il modulo logging non ha bug >> aperti. >> Vedi se ti d� indicazioni maggiori. Lo sai che il nostro Splendido >> Presidente >> a volte � un po' duro nei suoi giudizi :) > > Lo sono ma sempre con una ragione :). >> Per quanto ne so io, il modulo � sicuro. Nella parte di sorgenti che >> ho letto, >> mi sembra che le zone critiche siano protette da lock. Non l'ho >> sottoposto a >> chiss� che analisi, ma logging � un modulo molto usato da tantissime >> persone, >> tanto che di logger alternativi non ne � spuntato quasi nessuno. Direi >> che, se >> non altro, ad essere thread-safe ci prova :) > > Non hai guardato troppo bene diciamo :). Anche se il problema e` piu` > generalizzato del semplice modulo logging (che comunque ha problemi di > suo). > > In realta` il problema principale e` che nessun fd in python e` threadsafe. > E` un baco noto e non credo lo sistemeranno, tutti gli fd acquisiscono e > rilasciano lock nel momento sbagliato. Ok, allora il buon Giovanni avrà problemi con qualunque cosa multi-thread, non solo col modulo di logging. Direi che può stare "tranquillo" :) Il problema che indichi è interessante: hai un riferimento? > Inoltre ti ricordo sempre questo: > > import logging, threading > > class C(object): > def __init__(self): > print threading.currentThread() > def __del__(self): > print threading.currentThread() > logging.warn('deleted %r' % self) > > if __name__ == '__main__': > c = C() L'output dello script è: <_MainThread(MainThread, started)> <_DummyThread(Dummy-1, started daemon)> Exception exceptions.AttributeError: "'NoneType' object has no attribute 'warn'" in > ignored Mi sembra più un problema di interazione tra thread e distruttori che tra logger e thread, visto che il secondo print stampa "<_DummyThread(Dummy-1, started daemon)>". In particolare, mi sembra che il distruttore di c viene chiamato quando l'interprete è già in fase di cancellazione: se aggiungi un "del c" come ultima istruzione dello script l'errore (intendo il "DummyThread") non si presenta (perché il distruttore viene invocato quando l'interprete ha ancora tutte le rotelle a posto): <_MainThread(MainThread, started)> <_MainThread(MainThread, started)> WARNING:root:deleted <__main__.C object at 0xb7c7eeac> Inoltre il problema è nella funzione di modulo "logger.warn()", non nei logger in sé. Questo ad esempio funziona, ed è un caso più verosimile di uso dei logger: import logging, threading logging.basicConfig() logger = logging.getLogger() class C(object): def __init__(self): print threading.currentThread() def __del__(self): print threading.currentThread() # "logger", non "logging" logger.warn('deleted %r' % self) if __name__ == '__main__': c = C() L'output in questo caso è: <_MainThread(MainThread, started)> <_DummyThread(Dummy-1, started daemon)> WARNING:root:deleted <__main__.C object at 0xb7c54ecc> dove il logger ha funzionato bene anche se l'interprete principale è stato già distrutto. A mio giudizio questi piccoli glitch non giustificano la riscrittura di un sistema di logging da zero per la propria applicazione. Tu conosci alternative già cotte, esenti da problemi e adeguatamente flessibili? Conosci altri problemi che ti fanno dire che il moduo logging "comunque ha problemi di suo"? A presto! -- 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] Interfacce grafiche
2007/12/8, Daniele Varrazzo <[EMAIL PROTECTED]>: > Ok, no flamewar, plz. appunto era quello che intendevo io, si sa come si va a finire quando si entra nell'ambito "questo è meglio perchè lo dico io, stop". > Ho usato entrambi i framework e questo è il mio giudizio. Passo e chiudo. Avevo già precisato che la tua è una rispettabilissima opinione. ciao -- Gian Mario Tagliaretti ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Interfacce grafiche
On Dec 8, 2007, at 12:43 PM, Pietro Battiston wrote: > Rispondo io con un'altra domanda: perché non wxwidgets? Funziona > ovunque > (OK, non su windows mobile, QUASI ovunque) e ovunque è nativo, perché > usa le librerie "autoctone". Per esempio perchè su OS X fa onco. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python