In data lunedì 27 giugno 2011 17:13:57, Sandro Santilli ha scritto:
: > On Mon, Jun 27, 2011 at 04:39:24PM +0200, Paolo Corti wrote: > > Ciao Sandro > > > > 2011/6/27 Sandro Santilli <[hidden email]>: > > > Temo che questo genere di cose pero' si vogliano fare solo > > > con l'ausilio del sistema operativo, perche' i moduli python > > > si vorranno installare system-wide (se possibile) e l'utente > > > che apre qgis NON e' (si spera) amministratore di sistema. > > > > Un modo ottimo di risolvere questi problemi in Python puo' essere > > quello di usare virtualenv [0] che consente di > > creare ambienti Python isolati da tutto il resto. > > ... > > > [0] http://www.virtualenv.org/ > > Interessante alternativa. Certo in questo modo dovrebbe essere > piu' semplice, anche se non necessariamente raccomandabile. > > L'idea dell'interfaccia standard (il "plugin helper") > consentirebbe l'una o l'altra cosa (o altro ancora), con qualche > tipo di configurazione. La configurazione di quale helper > utilizzare potrebbe essere esposta tramite interfaccia grafica > di qgis (plugin install command, con le keyword substitution). > > Come dovrebbe essere questa interfaccia ? > Ne esiste gia' una ? (easy_install) mumble mumble... ... ecco qualche pensierino sul tema. easy_install verrà probabilmente sostituito da "pip" http://stackoverflow.com/questions/3220404/why-use-pip-over-easy-install però da quanto ho capito, easy_install viene installato automaticamente con il pacchetto setuptools, mentre pip lo devi installare a mano (o con easy_install). Comunque, questo non è importante, l'importante è capire se (per tutte le piattaforme), dando per scontato che almeno l'interprete python sia installato (altrimenti ha poco senso parlare di plugin python), su quali tool possiamo contare per un'installazione automatizzata delle dipendenze python ? Purtroppo conosco una sola piattaforma (Linux) quindi non ho idea di come possa funzionare sulle altre, ma su Linux bisognerebbe installare nell'ordine: - virtualenv (a livello di sistema, credo) - easy_install o pip (magari setuptools viene installato di default?) - le dipendenze del caso Io credo che un grosso passo avanti sarebbe già quello di includere le istruzioni "import" in blocchi try/except e stampare un sano messaggio su come risolvere il problema in caso di dipendenze mancanti, al momento la situazione è un orribile traceback, veramente disorientante per chi non lo sa leggere. Per un'installazione automatizzata, si potrebbe pensare ad includere nella dichiarazione del plugin l'elenco delle dipendenze (in formato pip/easy_install compatibile) e procedere al caricamento in caso manchino. C'è anche questo: http://packages.python.org/distribute/setuptools.html#using-find-packages ... promette bene: Automatically find/download/install/upgrade dependencies at build time using the EasyInstall tool, which supports downloading via HTTP, FTP, Subversion, and SourceForge, and automatically scans web pages linked from PyPI to find download links. (It’s the closest thing to CPAN currently available for Python.) Forse il problema principale è che i plugin al momento vengono semplicemente scaricati e scompattati, non viene lanciato nessuno script di setup, che sarebbe fondamentale per qualsiasi installazione di dipendenze. Vedi lo standard: http://docs.python.org/install/index.html Ultimo problemuccio: alcuni pacchetti python contengono pezzi di codice in altri linguaggi (tipicamente in C), quindi il processo di installazione standard "python setup.py install" prevede compilazione, che a sua volta prevede magari che siano già installati gli header e/o altre librerie. Insomma, un sistema standardizzato per dare utili istruzioni all'utente in caso di dipendenze mancanti costerebbe poco sforzo e darebbe un grande risultato, un sistema automatico che funzioni magari nel 60% dei casi sarebbe già più laborioso, un sistema automatico che funzioni sempre, credo che sia quasi impossibile. Altre idee ? -- Alessandro Pasotti itOpen - "Open Solutions for the Net Age" w3: www.itopen.it Linux User# 167502 _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. Non inviate messaggi commerciali. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 518 iscritti al 3.6.2011 |
Free forum by Nabble | Edit this page |