Riverscapes / QRiS

Riverscapes Studio - for QGIS
https://qris.riverscapes.net
GNU General Public License v3.0
1 stars 0 forks source link

QRiS 0.1.7 Fails on Install looking for matplotlib #144

Closed joewheaton closed 2 months ago

joewheaton commented 1 year ago

Sorry @philipbaileynar. Thanks for quick turn around... little tail chasing here. On my Windows 11 Machine with QGIS 3.24.3 and Python 3.9.5, install from zip fails with this message (different one, new dependency):

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

ModuleNotFoundError: No module named 'matplotlib.backends.backend_qt4agg' 
Traceback (most recent call last):
  File "C:\PROGRA~1/QGIS32~1.3/apps/qgis/./python\qgis\utils.py", line 423, in _startPlugin
    plugins[packageName] = package.classFactory(iface)
  File "C:\Users/joemw/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\qris_deploy\__init__.py", line 40, in classFactory
    from .src.qris_toolbar import QRiSToolbar
  File "C:\PROGRA~1/QGIS32~1.3/apps/qgis/./python\qgis\utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "C:\Users/joemw/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\qris_deploy\src\qris_toolbar.py", line 40, in 
    from .view.frm_dockwidget import QRiSDockWidget
  File "C:\PROGRA~1/QGIS32~1.3/apps/qgis/./python\qgis\utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "C:\Users/joemw/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\qris_deploy\src\view\frm_dockwidget.py", line 62, in 
    from .frm_stream_gage_docwidget import FrmStreamGageDocWidget
  File "C:\PROGRA~1/QGIS32~1.3/apps/qgis/./python\qgis\utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "C:\Users/joemw/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\qris_deploy\src\view\frm_stream_gage_docwidget.py", line 25, in 
    from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
  File "C:\PROGRA~1/QGIS32~1.3/apps/qgis/./python\qgis\utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
ModuleNotFoundError: No module named 'matplotlib.backends.backend_qt4agg'

Python version: 3.9.5 (tags/v3.9.5:0a7dcbd, May  3 2021, 17:27:52) [MSC v.1928 64 bit (AMD64)] 
QGIS version: 3.24.3-Tisler Tisler, cf22b74e 

Python Path:
C:/PROGRA~1/QGIS32~1.3/apps/qgis/./python
C:/Users/joemw/AppData/Roaming/QGIS/QGIS3\profiles\default/python
C:/Users/joemw/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins
C:/PROGRA~1/QGIS32~1.3/apps/qgis/./python/plugins
C:\Program Files\QGIS 3.24.3\bin\python39.zip
C:\PROGRA~1\QGIS32~1.3\apps\Python39\DLLs
C:\PROGRA~1\QGIS32~1.3\apps\Python39\lib
C:\Program Files\QGIS 3.24.3\bin
C:\PROGRA~1\QGIS32~1.3\apps\Python39
C:\PROGRA~1\QGIS32~1.3\apps\Python39\lib\site-packages
C:\PROGRA~1\QGIS32~1.3\apps\Python39\lib\site-packages\GDAL-3.4.3-py3.9-win-amd64.egg
C:\PROGRA~1\QGIS32~1.3\apps\Python39\lib\site-packages\win32
C:\PROGRA~1\QGIS32~1.3\apps\Python39\lib\site-packages\win32\lib
C:\PROGRA~1\QGIS32~1.3\apps\Python39\lib\site-packages\Pythonwin
C:/Users/joemw/AppData/Roaming/QGIS/QGIS3\profiles\default/python
philipbaileynar commented 1 year ago

Matt has a PR that shows a warning when this happens but still let's qris proceed. But I have not incorporated it yet.

However, we are going to use matplotlib all over the place. Our minimum version must have the matplotlib package.

Can you try installing the latest release (3.26 I think) and see if that works with qris 0.17

joewheaton commented 1 year ago

Matt has a PR that shows a warning when this happens but still let's qris proceed. But I have not incorporated it yet.

However, we are going to use matplotlib all over the place. Our minimum version must have the matplotlib package.

Can you try installing the latest release (3.26 I think) and see if that works with qris 0.17

Standby.... will try.

joewheaton commented 1 year ago

Okay....

It actually recognized (even with complete uinstall and reinstall all the old Plugins. Same error as before. Then uninstalled 0.1.7 and reinstalled. Same error. Sorry Pip

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

ModuleNotFoundError: No module named 'matplotlib.backends.backend_qt4agg' 
Traceback (most recent call last):
  File "C:\PROGRA~1/QGIS32~2.3/apps/qgis/./python\qgis\utils.py", line 423, in _startPlugin
    plugins[packageName] = package.classFactory(iface)
  File "C:\Users/joemw/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\qris_deploy\__init__.py", line 40, in classFactory
    from .src.qris_toolbar import QRiSToolbar
  File "C:\PROGRA~1/QGIS32~2.3/apps/qgis/./python\qgis\utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "C:\Users/joemw/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\qris_deploy\src\qris_toolbar.py", line 40, in 
    from .view.frm_dockwidget import QRiSDockWidget
  File "C:\PROGRA~1/QGIS32~2.3/apps/qgis/./python\qgis\utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "C:\Users/joemw/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\qris_deploy\src\view\frm_dockwidget.py", line 62, in 
    from .frm_stream_gage_docwidget import FrmStreamGageDocWidget
  File "C:\PROGRA~1/QGIS32~2.3/apps/qgis/./python\qgis\utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "C:\Users/joemw/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\qris_deploy\src\view\frm_stream_gage_docwidget.py", line 25, in 
    from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
  File "C:\PROGRA~1/QGIS32~2.3/apps/qgis/./python\qgis\utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
ModuleNotFoundError: No module named 'matplotlib.backends.backend_qt4agg'

Python version: 3.9.5 (tags/v3.9.5:0a7dcbd, May  3 2021, 17:27:52) [MSC v.1928 64 bit (AMD64)] 
QGIS version: 3.26.3-Buenos Aires Buenos Aires, 65e4edfdada 

Python Path:
C:/PROGRA~1/QGIS32~2.3/apps/qgis/./python
C:/Users/joemw/AppData/Roaming/QGIS/QGIS3\profiles\default/python
C:/Users/joemw/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins
C:/PROGRA~1/QGIS32~2.3/apps/qgis/./python/plugins
C:\Program Files\QGIS 3.26.3\bin\python39.zip
C:\PROGRA~1\QGIS32~2.3\apps\Python39\DLLs
C:\PROGRA~1\QGIS32~2.3\apps\Python39\lib
C:\Program Files\QGIS 3.26.3\bin
C:\PROGRA~1\QGIS32~2.3\apps\Python39
C:\PROGRA~1\QGIS32~2.3\apps\Python39\lib\site-packages
C:\PROGRA~1\QGIS32~2.3\apps\Python39\lib\site-packages\win32
C:\PROGRA~1\QGIS32~2.3\apps\Python39\lib\site-packages\win32\lib
C:\PROGRA~1\QGIS32~2.3\apps\Python39\lib\site-packages\Pythonwin
C:/Users/joemw/AppData/Roaming/QGIS/QGIS3\profiles\default/python
philipbaileynar commented 1 year ago

I just happened to be using the Raster Value plugin and noticed that it uses plots. It's open source and so you can see that they support two plotting controls: matplotlib and QwtPlot.

https://github.com/jorgealmerio/valuetool/blob/ca90c08097096351c26466cca04a80576db64b0f/core/valuewidget.py

philipbaileynar commented 1 year ago
Screenshot 2022-10-28 at 1 56 52 PM
MattReimer commented 2 months ago

@KellyMWhitehead I think this might be fixed no?

KellyMWhitehead commented 2 months ago

Yes, all good. We now have matplotlib up and running!