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

G. Allegri giohappy a gmail.com
Gio 6 Mar 2014 12:09:55 CET


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 a 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 a 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 a 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 a 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 a 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 a 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 a 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 a 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 a 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 a 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 a 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 a 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 a 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
-------------- parte successiva --------------
Un allegato HTML ? stato rimosso...
URL: <http://lists.gfoss.it/pipermail/gfoss/attachments/20140306/163a2e4d/attachment-0001.html>


Maggiori informazioni sulla lista Gfoss