[Gfoss] [Qgis-developer] Plugin Dependencies

Salve a tutti,

qualcuno sa come si risolve il problema delle librerie esterne richieste dai plugin ?

Dove vanno inserite ? Si possono inserire all’interno del plugin, invece di doverle inserire all’interno di ogni nuova versione di QGIS, come ad esempio :

QGIS VERSIONE\apps\Python27\Lib\site-packages\

?

A proposito di questo, di seguito c’è il messaggio di Victor Olaya che ho trovato all’interno della lista qgis-dev , ma non riesco a far funzionare le sue istruzioni. Qualcuno può aiutarmi ? :slight_smile: Penso sia un problema che interessa parecchi sviluppatori di plugin.

Grazie per qualunque info in proposito

A presto

Roberto

···

2015-10-07 17:50 GMT+02:00 Victor Olaya <volayaf@gmail.com>:

At the moment, you have to ship them with your plugin, in the plugin
zip file. If the lib uses native code, you will need to include
binaries for all OSs that you want to support, and the corresponding
mechanism to pick one or the other.

As an example, you can see how it is done in this plugin

https://github.com/boundlessgeo/qgis-geoserver-plugin/blob/master/src/geoserverexplorer/init.py

Dependencies are stored in a folder called “ext-libs”, which is added
to the python path by the plugin

Notice that that folder is not in the repo, there is a paver task to
fetch the dependencies from PyPi

Notice also that QGIS has its folder with python libs

https://github.com/qgis/QGIS/tree/master/python/ext-libs

Make sure that the libs you require are not already in there

In my case ( GEarthView QGIS plugin ) I have two external libraries:

twisted

zope

that I need to install manually :frowning:

On windows, they need to be copied for each new version of QGIS, inside the folder:

QGIS VERSION\apps\Python27\Lib\site-packages\

Instead, on MacOSX, they are (once and for all) inside the standard python library folder, as I explained in my blog:

http://exporttocanoma.blogspot.it/2015/01/gearthview-20-plugin-per-qgis.html

I have tried several times to make sure that it was not necessary to install anything, including the libraries in my plugins, so far I have not succeeded. So, that your message has rekindled my hopes :slight_smile: but there are some things I do not understand, in your explanation (my fault).

Here are my steps:

  1. I modified my geodrinx/init.py adding:

site.addsitedir(os.path.abspath(os.path.dirname(file) + ‘/ext-libs’))

Question: where need I to create this ext-libs folder ? I looked into the plugin that you indicate, but I found no “ext-libs” folder.

Could you please explain me (us) better ?

Thank you much

A presto

Roberto

Il 22/10/2015 09:01, Geo DrinX ha scritto:

Salve a tutti,

qualcuno sa come si risolve il problema delle librerie esterne richieste
dai plugin ?

si parla di Windows, vero? Su Linux (non sono sicuro di OSX) basta
avvisare l'utente di installare il pacchetto necessario. Magari va
trovato un modo piu' evidente rispetto ai messaggi di errore attualmente
mostrati nella maggior parte dei casi.
Saluti.

--
Paolo Cavallini - www.faunalia.eu
QGIS & PostGIS courses: http://www.faunalia.eu/training.html

On 22 October 2015 at 09:01, Geo DrinX <geodrinx@gmail.com> wrote:

Salve a tutti,

ciao,

qualcuno sa come si risolve il problema delle librerie esterne richieste dai
plugin ?

Dove vanno inserite ? Si possono inserire all'interno del plugin, invece
di doverle inserire all'interno di ogni nuova versione di QGIS, come ad
esempio :

QGIS VERSIONE\apps\Python27\Lib\site-packages\

?

A proposito di questo, di seguito c'è il messaggio di Victor Olaya che ho
trovato all'interno della lista qgis-dev , ma non riesco a far funzionare
le sue istruzioni. Qualcuno può aiutarmi ? :slight_smile: Penso sia un problema
che interessa parecchi sviluppatori di plugin.

io faccio così:
- installo pip per windows utilizzando la console di OSGeo
- con pip installo la dipendenza che mi manca.

Grazie per qualunque info in proposito

A presto

Roberto

--
ciao
Luca

http://gis.cri.fmach.it/delucchi/
www.lucadelu.org

Il giorno 22 ottobre 2015 09:09, Paolo Cavallini <cavallini@faunalia.it> ha
scritto:

Il 22/10/2015 09:01, Geo DrinX ha scritto:
> Salve a tutti,
>
> qualcuno sa come si risolve il problema delle librerie esterne richieste
> dai plugin ?

si parla di Windows, vero? Su Linux (non sono sicuro di OSX) basta
avvisare l'utente di installare il pacchetto necessario. Magari va
trovato un modo piu' evidente rispetto ai messaggi di errore attualmente
mostrati nella maggior parte dei casi.

Sì. Si parla di Windows. Si parla di un sistema operativo che ha qualche
centinaio di milioni di utenti :slight_smile:

Su Linux e su Mac il problema non esiste, perchè basta che le librerie
siano installate sotto (gli unici) ambienti Python.

Però, in tutte le versioni Desktop di QGIS Windows questo problema esiste,
e mi trovo oltre 100mila persone che mi scrivono chiedendomi dove vanno
installate le librerie twisted e zope :slight_smile:

@Alessandro

La policy è quella di non distribuire mai coi plugin le librerie ma

fornire istruzioni per l'installazione: sopratutto se sono

disponibili su pypi e installabili con pip o easy_install o apt o altri

package manager).

Benissimo. Farò seguire questa policy ai miei centomila utenti. :slight_smile:
Comunque, per curiosità, qualcuno sa come si installa una volta sola su
Windows le librerie twisted e zope, senza doverle ripetere all'interno di
tutte le versioni di QGIS ?
Possibilmente utilizzando solo le versioni Desktop "QGIS Standalone
installer" (e non quelle OsgeoW") ?

Grazie per le info

Roberto

2015-10-22 9:22 GMT+02:00 Geo DrinX <geodrinx@gmail.com>:

Benissimo. Farò seguire questa policy ai miei centomila utenti. :slight_smile:
Comunque, per curiosità, qualcuno sa come si installa una volta sola su
Windows le librerie twisted e zope, senza doverle ripetere all'interno di
tutte le versioni di QGIS ?
Possibilmente utilizzando solo le versioni Desktop "QGIS Standalone
installer" (e non quelle OsgeoW") ?

sbaglio o victor ti ha suggerito una soluzione per creare un plugin
autoconsistente?

Roberto

Luigi Pirelli

**************************************************************************************************
* LinkedIn: https://www.linkedin.com/in/luigipirelli
* Elance: https://www.elance.com/s/edit/luigipirelli/
* GitHub: https://github.com/luipir
* Stackexchange: http://gis.stackexchange.com/users/19667/luigi-pirelli
* Mastering QGIS:
https://www.packtpub.com/application-development/mastering-qgis
**************************************************************************************************