[QGIS-Developer] non-standard-library Python modules available to QGIS plugins
Raphael Das Gupta
raphael.das.gupta at hsr.ch
Tue Apr 23 08:09:37 PDT 2019
Thanks Jürgen and Saber for your insights!
On 23.04.19 14:53, Jürgen E. Fischer wrote:
> Yes, control.in lists the dependencies that installed with the (debian) package
> - and those are the only ones you can actually rely on (installing via pip
> might not work everywhere and shouldn't be done anyway for packages the
> distribution already can provide).
>
> I don't know of any other documentation (except for the osgeo4w qgis-full*
> setup.hint files - that are essentially the same thing [0])
Is it, though? As far as I can see that includes SciPy and Shapely,
which the control.in file
(https://github.com/qgis/QGIS/blob/master/debian/control.in) doesn't.
> - and if there was
> it would problably be old and out of sync.
So it seems there is no authoritative source that the Debian/Ubuntu
package definitions, OSGeo4W and the OS X installer (and all the plugin
developers) can rely on as a common base. Doesn't this lead to
compatibility problems?
On 23.04.19 15:11, Saber Razmjooei wrote:
> You can find all the Python 3 modules we are packaging with macOS
> installer here:
> https://lutraconsulting.github.io/qgis-mac-packager/
This list (under "Used Python3 modules") seems to include even more than
the OSGeo4W one does. Some of those might be build-only dependencies
(though, are they then available at plugin runtime anyway?) or effects
of differing packaging granularity, others are maybe indirect
dependencies that the `*.deb` based systems (and OSGeo4W?) would pull in
transitively, but I guess not all can be explained by that. So I'm
pretty sure that QGIS plugins on different platforms will have a
different set of modules available.
I've posted a comparison of control.in vs. setup.hint vs.
lutraconsulting installer at
https://github.com/NixOS/nixpkgs/issues/59842#issuecomment-485832623
(Click "Details" in that comment to see it.)
It seems to me like currently, plugin developers have to limit
themselves to a common subset of these if they want their plugins to be
interoperable between different QGIS installations of the same version.
Do they do that? Do they even know?
For the time being, I think I'll use the Debian/Ubuntu dependencies as a
guideline for NixOS, as both are Linux operating systems. For
simplicity, I'll probably at least initially leave out PyQt5.QtWebKit
though, hoping that no plugins actually use it.
Kind regards,
Raphael
More information about the QGIS-Developer
mailing list