[Qgis-developer] Managing Python dependencies automatically for the user

Luigi Pirelli luipir at gmail.com
Fri Jan 15 04:24:48 PST 2016


btw an exception can be caouse by other dependencies of openpyxl => better
to check the correct exception than a generic one

Luigi Pirelli

**************************************************************************************************
* Boundless QGIS Support/Development: lpirelli AT boundlessgeo DOT com
* LinkedIn: https://www.linkedin.com/in/luigipirelli
* Stackexchange: http://gis.stackexchange.com/users/19667/luigi-pirelli
* GitHub: https://github.com/luipir
* Mastering QGIS:
https://www.packtpub.com/application-development/mastering-qgis
**************************************************************************************************

On 15 January 2016 at 13:23, Luigi Pirelli <luipir at gmail.com> wrote:

> thank you for sharing
>
> Luigi Pirelli
>
>
> **************************************************************************************************
> * Boundless QGIS Support/Development: lpirelli AT boundlessgeo DOT com
> * LinkedIn: https://www.linkedin.com/in/luigipirelli
> * Stackexchange: http://gis.stackexchange.com/users/19667/luigi-pirelli
> * GitHub: https://github.com/luipir
> * Mastering QGIS:
> https://www.packtpub.com/application-development/mastering-qgis
>
> **************************************************************************************************
>
> On 15 January 2016 at 12:12, Pablo Fernández Moniz <
> pablofernandezmoniz at gmail.com> wrote:
>
>> First of all, thank you very much for all the fast replies, they have
>> been very helpful for us.
>>
>>  The solution we finally implemented was adding the .egg file for the
>> dependency and loading it when the wider system import fails in the
>> following fashion:
>>
>> import os
>> import sys
>>
>> try:
>>     import openpyxl
>> except:
>>     package_name = "openpyxl-2.3.2-py2.7.egg"
>>     package_path = os.path.join(os.path.dirname(__file__), package_name)
>>     sys.path.append(package_path)
>>     import openpyxl
>>
>>  This may not be a solution for every use case but it gets the job done
>> for us in our setup.
>>
>>  Once again, thank you for he fast replies and ideas given.
>>
>>  Kind regards,
>>
>> 2016-01-15 4:40 GMT+00:00 Andreas Neumann <a.neumann at carto.net>:
>>
>>> Note that the Windows binaries already contain xlwt and xlrd. Jürgen was
>>> so kind to include it, because I needed it as well for my plugins. Not sure
>>> about openpyxl. On Linux systems it is rather easy to install them through
>>> apt-get, pip or similar mechanisms. Just tell your users that/how they
>>> need/can install them.
>>>
>>> Andreas
>>>
>>>
>>> On 14.01.2016 22:13, Matthias Kuhn wrote:
>>>
>>> Hi Pablo, Tim
>>>
>>> On 01/14/2016 10:00 PM, Tim Sutton wrote:
>>>
>>> Hi
>>>
>>> On 14 Jan 2016, at 18:06, Pablo Fernández Moniz <
>>> pablofernandezmoniz at gmail.com> wrote:
>>>
>>> Hi!
>>>
>>>  We are currently developing a QGIS plugin were we wish to generate some
>>> Excel files as output.
>>>
>>>  In order to build the spreadsheet file we need to use some python
>>> modules installed from pip (openpyxl, xlwt, etc). This dependency will
>>> force every user to manually install the needed package form the pip
>>> repository.
>>>
>>>  This situation leaves us with the following question: is possible or it
>>> will be in the future to manage this kind of dependencies from QGIS side
>>> when the user installs the plugin?
>>>
>>>
>>> Although it has been discussed and some prototyping was done to support
>>> automatic installation of dependencies at the last hackfest, there isn’t
>>> anything in the released versions of QGIS to support this yet. If your
>>> packages have no operating system specific binaries in them, then I suggest
>>> to bundle them into your plugin and use an appropriate import path relative
>>> to your code. Note there is a limit on how big your plugin can be (I think
>>> it is 10mb) so you need to ensure your 3rd party deps do not bulk out your
>>> plugin too much.
>>>
>>>
>>> We bundled xlwt and xlrd as .egg with a plugin recently:
>>>
>>> https://github.com/opengisch/shpsync/blob/master/xlwt-1.0.0-py2.7.egg
>>> https://github.com/opengisch/shpsync/blob/master/xlrd-0.9.4-py2.7.egg
>>>
>>> Until there's a cross-platform dependency management (which I know that
>>> several people are looking into) that's the safest road to follow.
>>>
>>> Best
>>>
>>> Matthias
>>>
>>>
>>> Regards
>>>
>>> Tim
>>>
>>>
>>>  Thank you for your time!
>>>
>>>  Kind regards.
>>>
>>> --
>>>
>>> Pablo Fernández Moniz
>>> GIT Analyst
>>>
>>> Web <http://www.pablofm.com/>    Linkedin
>>> <http://www.linkedin.com/in/pablofernandezmoniz/>   Twitter
>>> <http://www.twitter.com/monizpablo>
>>> _______________________________________________
>>> Qgis-developer mailing list
>>> Qgis-developer at lists.osgeo.org
>>> List info: http://lists.osgeo.org/mailman/listinfo/qgis-developer
>>> Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-developer
>>>
>>>
>>>>>>
>>>
>>>
>>>
>>> Tim Sutton
>>>
>>> Visit  <http://kartoza.com>http://kartoza.com to find out about open
>>> source:
>>>
>>> * Desktop GIS programming services
>>> * Geospatial web development
>>> * GIS Training
>>> * Consulting Services
>>>
>>> Skype: timlinux Irc: timlinux on #qgis at freenode.net
>>> Tim is a member of the QGIS Project Steering Committee
>>>
>>> Kartoza is a merger between Linfiniti and Afrispatial
>>>
>>>
>>>
>>> _______________________________________________
>>> Qgis-developer mailing listQgis-developer at lists.osgeo.org
>>> List info: http://lists.osgeo.org/mailman/listinfo/qgis-developer
>>> Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-developer
>>>
>>>
>>> --
>>> Matthias Kuhn
>>> OPENGIS.ch - https://www.opengis.ch
>>> Spatial • (Q)GIS • PostGIS • Open Source
>>>
>>>
>>>
>>> _______________________________________________
>>> Qgis-developer mailing listQgis-developer at lists.osgeo.org
>>> List info: http://lists.osgeo.org/mailman/listinfo/qgis-developer
>>> Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-developer
>>>
>>>
>>>
>>> _______________________________________________
>>> Qgis-developer mailing list
>>> Qgis-developer at lists.osgeo.org
>>> List info: http://lists.osgeo.org/mailman/listinfo/qgis-developer
>>> Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-developer
>>>
>>
>>
>>
>> --
>>
>> Pablo Fernández Moniz
>> GIT Analyst
>>
>> Web <http://www.pablofm.com>    Linkedin
>> <http://www.linkedin.com/in/pablofernandezmoniz/>   Twitter
>> <http://www.twitter.com/monizpablo>
>>
>> _______________________________________________
>> Qgis-developer mailing list
>> Qgis-developer at lists.osgeo.org
>> List info: http://lists.osgeo.org/mailman/listinfo/qgis-developer
>> Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-developer
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20160115/c3fe876b/attachment-0001.html>


More information about the Qgis-developer mailing list