Opened 15 months ago
Closed 14 months ago
#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: | new → assigned |
Summary: | Multiple Python errors → qgis3-ltr @3.28.9: Multiple Python errors |
comment:2 Changed 15 months ago by nilason (Nicklas Larsson)
comment:3 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 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 follow-up: 6 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 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 follow-up: 9 Changed 15 months ago by nilason (Nicklas Larsson)
comment:9 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 follow-up: 13 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 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: | assigned → closed |
Replying to dlejay:
This part is a duplicate of https://trac.macports.org/ticket/67844