[Qgis-developer] standard way for custom plugin python dependencies

Alessandro Pasotti apasotti at gmail.com
Thu Sep 22 06:25:56 PDT 2016


On Thu, Sep 22, 2016 at 3:22 PM, Vincent Picavet (ml) <
vincent.ml at oslandia.com> wrote:

> Hi,
>
>
> On 22/09/2016 14:43, Alessandro Pasotti wrote:
> > On Thu, Sep 22, 2016 at 2:37 PM, Akbar Gumbira <akbargumbira at gmail.com
> > <mailto:akbargumbira at gmail.com>> wrote:
> [..]
> >     @Jachym: AFAIK, most plugins now just ship the needed libraries
> >     along with it or ask the users to install them. There are some
> >     libraries that are already shipped into QGIS from the core python
> >     plugins (e.g jinja), you might want to check if what you need is
> >     there already.
> >
> > A new metadata (external_deps: text) field was introduced for this
> > purpose but there is nothing implemented inside QGIS for now:
> > https://github.com/qgis/QGIS-Django/commit/
> 6546a2ab54fd01b6e94b921b610c31b619e99979#diff-
> 536e872043014a84818f87dc640b2d4d
> >
> > A common pattern seems shipping dependencies with the plugin as Python
> eggs.
>
> New Python Wheels and Pypi now support binary packages. This becomes a
> really useful and convenient tool to install dependencies, with
> multi-platform support, without even having a compiler installed.
>
> Making QGIS Python plugins as Python modules would allow to use all pip
> and pypi insfrastructure really easily.
>
> The proposed osgeo4w grant application by Jef could include the low
> level required changes necessary to introduce this behaviour. Right now
> pip is distributed by default in OSGeo4w, but since not all OSGeo4w
> python modules are installed through pip (but through specific exe
> installers), this may lead to installation problems ( names conflicts
> e.g.).
>
> If this work is done, there still will be some work on the QGIS python
> plugin interface, but _not_ reimplementing a package management system
> in QGIS and use pip instead could be a good option.
>


I could't agree more!

We definitely don't want to re-invent the (PyPi) wheel ;)

Go for pip, but still the external_deps field in metadata could be useful
to hold the content of REQUIREMENTS.txt, or a path to it.

-- 
Alessandro Pasotti
w3:   www.itopen.it
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20160922/c0545034/attachment-0001.html>


More information about the Qgis-developer mailing list