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

Luigi Pirelli luipir at gmail.com
Fri Jan 15 04:23:37 PST 2016


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/b9ea330e/attachment.html>


More information about the Qgis-developer mailing list