#68016 closed defect (fixed)

qgis3-ltr @3.28.9: Multiple Python errors

Reported by: dlejay (Damien Lejay) Owned by: Veence (Vincent)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: nilason (Nicklas Larsson)
Port: qgis3

Description

Installing on an M1 MacStudio. At startup I am greeted with several Python errors.

First popup →

An error occurred during execution of following code:
faulthandler.enable(file=fault_handler_file)

Traceback (most recent call last):
  File "", line 1, in 
PermissionError: [Errno 1] Operation not permitted


Python version:
3.11.4 (main, Jun 10 2023, 09:42:27) [Clang 14.0.3 (clang-1403.0.22.14.1)]

QGIS version:
3.28.9-Firenze 'Firenze', exported

Python path:
['/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python', '/Users/damien/Library/Application Support/QGIS/QGIS3/profiles/default/python', '/Users/damien/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins', '/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python/plugins', '/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python311.zip', '/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11', '/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/lib-dynload', '/Users/damien/Library/Python/3.11/lib/python/site-packages', '/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages']

Then, a new popup →

Couldn't load plugin 'DataPlotly' due to an error when calling its classFactory() method 

ModuleNotFoundError: No module named 'PyQt5.QtWebKit' 
Traceback (most recent call last):
  File "/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 423, in _startPlugin
    plugins[packageName] = package.classFactory(iface)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/damien/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/DataPlotly/__init__.py", line 33, in classFactory
    from .data_plotly import DataPlotly
  File "/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/damien/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/DataPlotly/data_plotly.py", line 32, in 
    from DataPlotly.gui.dock import DataPlotlyDockManager
  File "/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/damien/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/DataPlotly/gui/dock.py", line 19, in 
    from DataPlotly.gui.plot_settings_widget import DataPlotlyPanelWidget
  File "/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/damien/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/DataPlotly/gui/plot_settings_widget.py", line 49, in 
    from qgis.PyQt.QtWebKit import QWebSettings
  File "/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python/qgis/PyQt/QtWebKit.py", line 24, in 
    from PyQt5.QtWebKit import *
  File "/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'PyQt5.QtWebKit'


Python version: 3.11.4 (main, Jun 10 2023, 09:42:27) [Clang 14.0.3 (clang-1403.0.22.14.1)] 
QGIS version: 3.28.9-Firenze Firenze, exported 

Python Path:
/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python
/Users/damien/Library/Application Support/QGIS/QGIS3/profiles/default/python
/Users/damien/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins
/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python/plugins
/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python311.zip
/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11
/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/lib-dynload
/Users/damien/Library/Python/3.11/lib/python/site-packages
/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages
/Users/damien/Library/Application Support/QGIS/QGIS3/profiles/default/python

Last popup →

Couldn't load plugin 'rasterdataplotting' 

ModuleNotFoundError: No module named 'scipy' 
Traceback (most recent call last):
  File "/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 401, in loadPlugin
    __import__(packageName)
  File "/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/damien/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/rasterdataplotting/__init__.py", line 2, in 
    from .rasterdataplotting.plugin import RdpPlugin
  File "/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/damien/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/rasterdataplotting/rasterdataplotting/plugin.py", line 4, in 
    from .core.rdpinterface import RdpInterface
  File "/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/damien/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/rasterdataplotting/rasterdataplotting/core/rdpinterface.py", line 14, in 
    from ..gui.rdpdockwidget import RdpDockWidget
  File "/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/damien/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/rasterdataplotting/rasterdataplotting/gui/rdpdockwidget.py", line 8, in 
    from .rdpscatterplotwidget import RdpScatterPlotWidget
  File "/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/damien/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/rasterdataplotting/rasterdataplotting/gui/rdpscatterplotwidget.py", line 6, in 
    from scipy.stats import binned_statistic_2d, pearsonr
  File "/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'scipy'


Python version: 3.11.4 (main, Jun 10 2023, 09:42:27) [Clang 14.0.3 (clang-1403.0.22.14.1)] 
QGIS version: 3.28.9-Firenze Firenze, exported 

Python Path:
/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python
/Users/damien/Library/Application Support/QGIS/QGIS3/profiles/default/python
/Users/damien/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins
/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python/plugins
/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python311.zip
/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11
/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/lib-dynload
/Users/damien/Library/Python/3.11/lib/python/site-packages
/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages
/Users/damien/Library/Application Support/QGIS/QGIS3/profiles/default/python

Change History (14)

comment:1 Changed 15 months ago by jmroot (Joshua Root)

Cc: nilason added
Owner: set to Veence
Port: qgis3 added; qgis3-ltr removed
Status: newassigned
Summary: Multiple Python errorsqgis3-ltr @3.28.9: Multiple Python errors

comment:2 in reply to:  description Changed 15 months ago by nilason (Nicklas Larsson)

Replying to dlejay:

Installing on an M1 MacStudio. At startup I am greeted with several Python errors.

First popup →

An error occurred during execution of following code:
faulthandler.enable(file=fault_handler_file)

Traceback (most recent call last):
  File "", line 1, in 
PermissionError: [Errno 1] Operation not permitted


Python version:
3.11.4 (main, Jun 10 2023, 09:42:27) [Clang 14.0.3 (clang-1403.0.22.14.1)]

QGIS version:
3.28.9-Firenze 'Firenze', exported

Python path:
['/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python', '/Users/damien/Library/Application Support/QGIS/QGIS3/profiles/default/python', '/Users/damien/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins', '/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python/plugins', '/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python311.zip', '/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11', '/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/lib-dynload', '/Users/damien/Library/Python/3.11/lib/python/site-packages', '/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages']

This part is a duplicate of https://trac.macports.org/ticket/67844

comment:3 in reply to:  description Changed 15 months ago by nilason (Nicklas Larsson)

Then, a new popup →

Couldn't load plugin 'DataPlotly' due to an error when calling its classFactory() method 

ModuleNotFoundError: No module named 'PyQt5.QtWebKit' 
Traceback (most recent call last):
  File "/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 423, in _startPlugin
    plugins[packageName] = package.classFactory(iface)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/damien/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/DataPlotly/__init__.py", line 33, in classFactory
    from .data_plotly import DataPlotly
  File "/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/damien/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/DataPlotly/data_plotly.py", line 32, in 
    from DataPlotly.gui.dock import DataPlotlyDockManager
  File "/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/damien/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/DataPlotly/gui/dock.py", line 19, in 
    from DataPlotly.gui.plot_settings_widget import DataPlotlyPanelWidget
  File "/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/damien/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/DataPlotly/gui/plot_settings_widget.py", line 49, in 
    from qgis.PyQt.QtWebKit import QWebSettings
  File "/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python/qgis/PyQt/QtWebKit.py", line 24, in 
    from PyQt5.QtWebKit import *
  File "/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'PyQt5.QtWebKit'


Python version: 3.11.4 (main, Jun 10 2023, 09:42:27) [Clang 14.0.3 (clang-1403.0.22.14.1)] 
QGIS version: 3.28.9-Firenze Firenze, exported 

Python Path:
/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python
/Users/damien/Library/Application Support/QGIS/QGIS3/profiles/default/python
/Users/damien/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins
/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python/plugins
/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python311.zip
/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11
/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/lib-dynload
/Users/damien/Library/Python/3.11/lib/python/site-packages
/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages
/Users/damien/Library/Application Support/QGIS/QGIS3/profiles/default/python

Try sudo port install py311-pyqt5 +webkit

comment:4 in reply to:  description Changed 15 months ago by nilason (Nicklas Larsson)

Last popup →

Couldn't load plugin 'rasterdataplotting' 

ModuleNotFoundError: No module named 'scipy' 
Traceback (most recent call last):
  File "/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 401, in loadPlugin
    __import__(packageName)
  File "/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/damien/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/rasterdataplotting/__init__.py", line 2, in 
    from .rasterdataplotting.plugin import RdpPlugin
  File "/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/damien/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/rasterdataplotting/rasterdataplotting/plugin.py", line 4, in 
    from .core.rdpinterface import RdpInterface
  File "/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/damien/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/rasterdataplotting/rasterdataplotting/core/rdpinterface.py", line 14, in 
    from ..gui.rdpdockwidget import RdpDockWidget
  File "/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/damien/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/rasterdataplotting/rasterdataplotting/gui/rdpdockwidget.py", line 8, in 
    from .rdpscatterplotwidget import RdpScatterPlotWidget
  File "/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/damien/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/rasterdataplotting/rasterdataplotting/gui/rdpscatterplotwidget.py", line 6, in 
    from scipy.stats import binned_statistic_2d, pearsonr
  File "/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'scipy'


Python version: 3.11.4 (main, Jun 10 2023, 09:42:27) [Clang 14.0.3 (clang-1403.0.22.14.1)] 
QGIS version: 3.28.9-Firenze Firenze, exported 

Python Path:
/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python
/Users/damien/Library/Application Support/QGIS/QGIS3/profiles/default/python
/Users/damien/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins
/Applications/MacPorts/QGIS3.app/Contents/MacOS/../Resources/python/plugins
/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python311.zip
/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11
/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/lib-dynload
/Users/damien/Library/Python/3.11/lib/python/site-packages
/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages
/Users/damien/Library/Application Support/QGIS/QGIS3/profiles/default/python

Try sudo port install py311-scipy

comment:5 Changed 15 months ago by reneeotten (Renee Otten)

@nilason: if these Python ports are needed they should be listed as dependencies in the Portfile. It shouldn’t be up to the user to figure out which ports to install.

comment:6 in reply to:  5 Changed 15 months ago by nilason (Nicklas Larsson)

Replying to reneeotten:

@nilason: if these Python ports are needed they should be listed as dependencies in the Portfile. It shouldn’t be up to the user to figure out which ports to install.

I was just thinking the same. Added a new variant with https://github.com/macports/macports-ports/pull/20178. The plugins are independent of QGIS and may have infinite number of dependencies, I added a number of modules that I believe should cover most of them.

comment:7 Changed 15 months ago by nilason (Nicklas Larsson)

In c84eeb961ca19246df25462852fe1d521e81de80/macports-ports (master):

qgis3[-ltr]: new default variant for better support of plugins

See #67842
See #68016

comment:8 Changed 15 months ago by dlejay (Damien Lejay)

I still get the same Python errors.

comment:9 in reply to:  7 Changed 15 months ago by nilason (Nicklas Larsson)

The recent changes of c84eeb961ca19246df25462852fe1d521e81de80/macports-ports (master), was made with the addition of a new (default) variant plugin_support. In this case it is likely not enough to do a sudo port upgrade qgis3 as it will not pick up the new variant. You may try uninstall and install again. Furthermore, the startup error and PyQt5.QtWebKit error still remain (for the latter error the py-pyqt5 depends on a non-default variant which is not possible [to my knowledge] to enforce as a dependant and must be manually installed with eg. sudo port install py311-pyqt5 +webkit).

comment:10 Changed 15 months ago by dlejay (Damien Lejay)

I have done: full removal of qgis3, plus a selfupdate, plus sudo port install qgis3 +grass (so with the default variant plugin_support). And I get the same Python errors: the fault_handler_file one, the PyQt5.QtWebKit one and, the scipy one.

comment:11 Changed 15 months ago by nilason (Nicklas Larsson)

Strange, the scipy one, shouldn't be there...

What will following give:

port installed qgis3
port installed | grep 'py[0-9]*-scipy'

comment:12 Changed 15 months ago by dlejay (Damien Lejay)

This is what I get (the second command returns 1)

The following ports are currently installed:
  qgis3 @3.32.2_0+grass+postgresql15+proj9+python311 (active)

comment:13 in reply to:  12 Changed 15 months ago by nilason (Nicklas Larsson)

Replying to dlejay:

This is what I get (the second command returns 1)

The following ports are currently installed:
  qgis3 @3.32.2_0+grass+postgresql15+proj9+python311 (active)

Thanks, I have realised my plugin_support variant implementation was flawed, working on it...

comment:14 Changed 14 months ago by nilason (Nicklas Larsson)

Resolution: fixed
Status: assignedclosed

In 41a01a9fd31253c141116fb167416b64a478fecb/macports-ports (master):

qgis3[-ltr]: general overhaul and bug fixes

Notable changes:

  • Find out path to "mpi.h" for building against 'gdal +hdf5' (and remove mpi port group dependence)
  • Prettify PostgreSQL variant descriptions by removing dot in versions 10+
  • Fix flawed implementation of the +python_support variant
  • Fix failure to install grass dependency
  • Add note on plugin "missing PyQt5.QtWebKit module" error warning

Closes: #67842
See: #68006
Closes: #68016
Closes: #68081

Note: See TracTickets for help on using tickets.