[Gfoss] Sperimentazione pip plugin per qgis per installare nuovi moduli python

Luca Mandolesi mandoluca a gmail.com
Gio 6 Mar 2014 12:24:43 CET


Bien, ubi major minor cessat. Io continuo a giocare col mio codice per il
mio plugin che ha bisogno di moduli esterni aspettando che sia QGis a
scaricarli per me! Ciao a tutti e grazie per aver smosso le acque in
qgis-dev, da non dir niente è partita una bellissima discussione.

Ciao
Luca


2014-03-06 12:09 GMT+01:00 G. Allegri <giohappy at gmail.com>:

> Ciao Andrea,
> il discorso era focalizzato sull'installazione di librerie Python
> richieste da un plugin, non a librerie in generale.
> Da un punto di vista della sicurezza non la vedo una cosa diversa
> dall'installare un plugin che si porta dentro tutte le librerie
> necessarie...
> C'è effettivamente un problema per i computer dove non si sia
> amministratori. In tal caso l'alternativa sarebbe installare le dipendenze
> in una cartella utente e poi creare/aggiornare il PYTHONPATH dell'utente.
> Inizialmente, qualora fosse necessario installare dipendenze, si chiederà
> l'intervento dell'amministratore :)
>
> giovanni
>
>
> Il giorno 06 marzo 2014 02:58, Andrea Peri <aperi2007 at gmail.com> ha
> scritto:
>
> Non conosco il python e quindi paecchi discorsi li comprendo poco.
>>
>> Ma da quello che capisco l'idea sarebbe di far installare a QGIS le
>> librerie dipendenti per far funzionare un determinato plugin.
>>
>> Quello che non capisco è se parlate di libreria "pythonesche" o di
>> libreria generali.
>> In definitiva si parla delle librerie che usualmente si installano da
>> osgeo4w-setup selezionandole dalla sezione "lib" o di altra roba che li'
>> non è presente ?
>>
>> Io ho due dubbi:
>>
>> Il primo è legato alla sicurezza.
>> Infatti fare dei meccanismi che scaricano in automatico da remoto
>> librerie su una macchina all'insaputa dell'utente è sepre una brutta
>> pratica.
>> Specie negli ambienti corporative.
>>
>> Il secondo dubbio è di tipo piu' pratico:
>> sempre negli ambientie corporative gli utenti di qgs difficilmente sono
>> amministratori del proprio pc e se si parla di un qgis che si scarica e
>> installa roba in cartelle differenti da quelle dell'utente (ad esempio se
>> volesse installare su quelle di sistema),
>> serve l'intervento del "referente informatico" .
>> Che usualmente è una ditta esterna a chiamata.
>> La differenza rispetto all'installazione da osgeo4w-setup è evidente.
>> In tal caso si tratta di una installazione unica che prende il tempo che
>> ci vuole, la fa' il referente e poi se la vede l'utente con l'uso ordinari
>> di qgis.
>>
>> Se pero' qgis cambia modo di operare e ogni giorno pensasse di smanettare
>> dentro una cartella di sistema , diiventerebbe complicato per l'utente
>> usuale che sarebbe costretto a interagire quotidianamente con il suo
>> referente.
>>
>> Se invece ho capito male, tanto meglio.
>>
>> A.
>>
>>
>>
>> Il giorno 06 marzo 2014 10:31, G. Allegri <giohappy at gmail.com> ha
>> scritto:
>>
>>> Mi sono letto velocemente i vari thread. A mio avviso l'approccio
>>> proposto da Nathan è preferibile. Apprezzo lo sforzo di Luca, ma una
>>> soluzione a plugin non mi convince. Avere un
>>> setuptools/pip/easy_install/o_altro integrato in QGIS sarebbe più
>>> trasparente per l'utente e per lo sviluppatore, il quale si troverebbe a
>>> dover scrivere semplicemente un file di requirements.
>>>
>>> Non vedo grossi problemi di manutenzione. Setuptools e pip mi sembrano
>>> piuttosto stabili...
>>>
>>> my2cents,
>>> giovanni
>>>
>>>
>>> Il giorno 06 marzo 2014 10:18, Gino Pirelli <luipir at gmail.com> ha
>>> scritto:
>>>
>>> non e' vero... dal tuo post s'e' accesa una piccola discussione con jef,
>>>> Nathan e me in chat #qgis, piu' che altro Nathan non sapeva esattametne
>>>> cosa risponderti perche' credo chai posto differenti domande in una stessa
>>>> mail... e sai come sono gli anglosassoni (anche australiani), non sono
>>>> abituati alle modalita' narrative.
>>>>
>>>> comunque Nathan sta cercando di fare la stessa cosa ma con un approccio
>>>> differente per la gestione di un suo progetto.
>>>> Cioe' vorrebbe introdurre un qualcosa coem "dependency.txt" nei plugin
>>>> fa gestire internamente a qgis per il caricamento delle dipendenze.
>>>> Al che gli ho fatto notare che la idea di farlo attraverso un plugin
>>>> velocizza l'applicazione senza aspettare i cambi dentro il core di qgis e i
>>>> vari rilasci... e la cosa e' rimasta li.
>>>> L'ho esortato a intervenire al tuo post, ma con tutta evidenza, forse
>>>> devi focalizzarlo e magari meterci anche un po di ciccia di plugin da
>>>> testare per ragionare sui fatti
>>>>
>>>> un saluto e grazie, Luigi Pirelli
>>>>
>>>>
>>>> 2014-03-06 9:47 GMT+01:00 Luca Mandolesi <mandoluca at gmail.com>:
>>>>
>>>>> Come disse Cesare, Io vado avanti [1].
>>>>> Allora, in lista qgis-dev l'argomento non pare abbia suscitato
>>>>> interessi. Chiedo a qualcuno in lista di dare un occhio alla lista di
>>>>> qgis-dev a quanto ho scritto...avendolo scritto in inglAise magari qualcuno
>>>>> si è offeso.[0]
>>>>>
>>>>> A questo punto passo alla divulgazione del codice appeno ho finito di
>>>>> capire come si aggirano tre problemi:
>>>>> - invocare la shell giusta, tra Osgeo4w e Osgeo4w shell: anzi se c'è
>>>>> qualcuno che me la sa spiegare ben venga;
>>>>> - ricavare il percorso in maniera corretta per lanciare la shell;
>>>>> - come installare setuptools e pip senza che l'utente diventi
>>>>> matto...ci sono vicino vicino..manca solo un passettino...
>>>>>
>>>>>  e aver fatto tre cose:
>>>>>
>>>>> - in realtà quel che sta venendo fuori è la possibilità di sfruttare
>>>>> contemporanemente easy_install e pip, quindi metterò una flag che usa o
>>>>> l'uno o l'altro.
>>>>> - aggiungere dei comandi preconfezionati per giovare l'utente
>>>>> - capire come si listino i pacchetti disponibili in rete per
>>>>> easy_install o pip... esiste un sistema di configurae l'url, ma non mi
>>>>> funzia.
>>>>>
>>>>> Se la comprensione dei problemi sopra citati non avviene entro sabato,
>>>>> divulgo uguale e vediamo se ci caviamo i zampetti insieme. : )
>>>>>
>>>>> A presto
>>>>> Luca
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> [0]
>>>>>
>>>>> http://osgeo-org.1560.x6.nabble.com/A-pipinstall-plugin-is-possible-First-What-s-the-difference-between-the-Osgeo4w-Shell-td5107633.html
>>>>>
>>>>> [1]
>>>>> ##Aneddoto OT##
>>>>> Roma 60 a.C. Cesare entra in città con la biga
>>>>> Il popolo: Cesare i romani chiedono sesterzi!
>>>>> Cesare: Na, na, me a vagh dret!
>>>>> #####
>>>>>
>>>>>
>>>>> 2014-03-04 11:12 GMT+01:00 Giuseppe Sucameli <brush.tyler at gmail.com>:
>>>>>
>>>>> Ciao Luca,
>>>>>> io intravendo un problema di permessi nell'installazione di
>>>>>> moduli/librerie aggiuntive.
>>>>>> Come lo stai gestendo?
>>>>>> Saluti.
>>>>>>
>>>>>> 2014-03-04 0:51 GMT+01:00 Luca Mandolesi <mandoluca at gmail.com>:
>>>>>>
>>>>>> Motu proprio...scusate la prolissità.
>>>>>>> Allora siamo a questo punto...
>>>>>>>
>>>>>>> Ho buttato giù in micro plugin che distribuisce dentro di se sia
>>>>>>> l'installer di setuptools che di pip...
>>>>>>>
>>>>>>> Cosa fa a primo avvio
>>>>>>> all'avvio se tutto va bene installa pip e setuptools dentro al Qgis
>>>>>>> presente sulla propria macchina: per ora sto forzando una installazione
>>>>>>> dentro a Dufour votata a questo punto alla sperimentazione selvaggia.
>>>>>>> Questo forse porterà a problemi di mantenimento ma vedremo. Non so nemmeno
>>>>>>> se la cosa ha effetto sotto ma o linux...passettino alla volta
>>>>>>>
>>>>>>> Dove installare
>>>>>>> Nella teoria ci sono due strade: o il plugin riconosce su quale
>>>>>>> installazione di Qgis lavora (io ne ho 3 diverse dalla 1.8, alla osgeo4w e
>>>>>>> la dufour standalone), oppure si può aggiungere una finestrella per
>>>>>>> installazini avanzate dove è l'utente a dire dove sta la shell di Osgeo su
>>>>>>> win, mentre per mac e linux se non erro basta mandare tutto da terminale
>>>>>>> che tanto qgis pesca dentro al python di sistema. Quindi sarà il caso di
>>>>>>> dividere il pannello in tre per utenti win, mac e linux.
>>>>>>>
>>>>>>> Come funzia per ora
>>>>>>> come vedete dalla screenshot [0] (la vedete?) faccio una prova di
>>>>>>> import qrcode, un modulo per fare i codici qr, che alla prima prova non
>>>>>>> risulta presente, poi scrivo il modulo che desidero e lancio
>>>>>>> l'installazione...l'ouput mi da tutti i processi che fa il plugin e poi
>>>>>>> rifaccio l'import nella medesima sessione senza riavviare ... mooolto
>>>>>>> importante...e qrcode viene caricato senza mandarmi errori.
>>>>>>>
>>>>>>> Dove stava l'inghippo: ho dovuto evitare popen o subprocess perchè
>>>>>>> pare che sotto win si crei un problema di handle sui processi lanciati che
>>>>>>> pare abbia fatto smoccolare vari utenti...quindi mi sono appoggiato a
>>>>>>> QProcess delle Qt [1] e tutto pare girare.
>>>>>>>
>>>>>>> Dove sta l'altro inghippo: con pip non tutto si trova, quindi al
>>>>>>> massimo si può aggiungere anche una maniera di scaricare i moduli, puntare
>>>>>>> alla cartella e lanciare come da shell Osgeo4W l'installer (è un doppione?)
>>>>>>> che punta al file setup.py...si lo so, non tutti gli installer vanno subito
>>>>>>> di setup.py.... ma magari a qualche clickomane piace di più.
>>>>>>>
>>>>>>> Bien, per ora son arrivato qua... appena sto coso gira un po' più
>>>>>>> liberamente da Dufour, passo tutto in lista su qgis-dev per eventuali
>>>>>>> suggerimenti, tipo quello di mettere blocchi o allert su moduli sensibili
>>>>>>> di QGis già distribuiti al suo interno, poi uno se vuol fare esplodere la
>>>>>>> propria installazione ben venga. :)
>>>>>>>
>>>>>>> Ciao a tutti! Si aspettano idee, critiche, suggerimenti,soprattutto
>>>>>>> dai neofiti che mal si trovano con le shell!
>>>>>>> Luca
>>>>>>>
>>>>>>>
>>>>>>> [0]
>>>>>>> https://lh5.googleusercontent.com/-Eplxy__Xm3o/UxURnYpMSmI/AAAAAAAADsE/2MoMT9sUvpM/w1075-h604-no/testpipinstaller.PNG
>>>>>>> [1]:
>>>>>>> http://stackoverflow.com/questions/18459770/adding-button-and-separate-window-to-python-qprocess-example
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> 2014-03-03 10:16 GMT+01:00 Paolo Cavallini <cavallini at faunalia.it>:
>>>>>>>
>>>>>>> Il 03/03/2014 10:06, Luca Mandolesi ha scritto:
>>>>>>>> > Buongiorno a tutti, ieri sera ho messo giu due righe di codice che
>>>>>>>> > installano setuptools e pip sulla propria installazione di qgis e
>>>>>>>> > permettono da python di installare moduli aggiuntivi dentro qgis.
>>>>>>>> Ora
>>>>>>>> > proverò a convertirlo in plugin... Domenda: qualcuno sta
>>>>>>>> lavorando a
>>>>>>>> > qualcosa di simile ? Richiesta: chiedo ai python guru in lista di
>>>>>>>>
>>>>>>>> Non mi risulta, a parte Larry che ha detto qualcosa di simile, ma
>>>>>>>> non mi
>>>>>>>> pare abbia scritto codice.
>>>>>>>> Ti consiglio caldamente di annunciare questo tuo lavoro in lista
>>>>>>>> qgis-dev.
>>>>>>>> Grazie mille.
>>>>>>>>
>>>>>>>> --
>>>>>>>> Paolo Cavallini - www.faunalia.eu
>>>>>>>> QGIS & PostGIS courses: http://www.faunalia.eu/training.html
>>>>>>>> _______________________________________________
>>>>>>>> Gfoss at lists.gfoss.it
>>>>>>>> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
>>>>>>>> Questa e' una lista di discussione pubblica aperta a tutti.
>>>>>>>> I messaggi di questa lista non hanno relazione diretta con le
>>>>>>>> posizioni dell'Associazione GFOSS.it.
>>>>>>>> 666 iscritti al 22.7.2013
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Gfoss at lists.gfoss.it
>>>>>>> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
>>>>>>> Questa e' una lista di discussione pubblica aperta a tutti.
>>>>>>> I messaggi di questa lista non hanno relazione diretta con le
>>>>>>> posizioni dell'Associazione GFOSS.it.
>>>>>>> 666 iscritti al 22.7.2013
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Giuseppe Sucameli
>>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Gfoss at lists.gfoss.it
>>>>> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
>>>>> Questa e' una lista di discussione pubblica aperta a tutti.
>>>>> I messaggi di questa lista non hanno relazione diretta con le
>>>>> posizioni dell'Associazione GFOSS.it.
>>>>> 666 iscritti al 22.7.2013
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Gfoss at lists.gfoss.it
>>>> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
>>>> Questa e' una lista di discussione pubblica aperta a tutti.
>>>> I messaggi di questa lista non hanno relazione diretta con le posizioni
>>>> dell'Associazione GFOSS.it.
>>>> 666 iscritti al 22.7.2013
>>>>
>>>
>>>
>>>
>>> --
>>> Giovanni Allegri
>>> http://about.me/giovanniallegri
>>> Twitter: https://twitter.com/_giohappy_
>>> blog: http://blog.spaziogis.it
>>> GEO+ geomatica in Italia http://bit.ly/GEOplus
>>>
>>> _______________________________________________
>>> Gfoss at lists.gfoss.it
>>> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
>>> Questa e' una lista di discussione pubblica aperta a tutti.
>>> I messaggi di questa lista non hanno relazione diretta con le posizioni
>>> dell'Associazione GFOSS.it.
>>> 666 iscritti al 22.7.2013
>>>
>>
>>
>>
>> --
>> -----------------
>> Andrea Peri
>> . . . . . . . . .
>> qwerty àèìòù
>> -----------------
>>
>> _______________________________________________
>> Gfoss at lists.gfoss.it
>> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
>> Questa e' una lista di discussione pubblica aperta a tutti.
>> I messaggi di questa lista non hanno relazione diretta con le posizioni
>> dell'Associazione GFOSS.it.
>> 666 iscritti al 22.7.2013
>>
>
>
>
> --
> Giovanni Allegri
> http://about.me/giovanniallegri
> Twitter: https://twitter.com/_giohappy_
> blog: http://blog.spaziogis.it
> GEO+ geomatica in Italia http://bit.ly/GEOplus
>
> _______________________________________________
> Gfoss at lists.gfoss.it
> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
> Questa e' una lista di discussione pubblica aperta a tutti.
> I messaggi di questa lista non hanno relazione diretta con le posizioni
> dell'Associazione GFOSS.it.
> 666 iscritti al 22.7.2013
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gfoss.it/pipermail/gfoss/attachments/20140306/2ed7c8d0/attachment-0001.html>


Maggiori informazioni sulla lista Gfoss