FieldStudiesCouncil / QGIS-Biological-Recording-Tools

QGIS plugin for biological recorders. Created with the FSC Tomorrow's Biodiversity project.
GNU General Public License v3.0
10 stars 4 forks source link

Cannot load QGIS plugin #33

Closed Ichneumonsuspiciosus closed 3 years ago

Ichneumonsuspiciosus commented 5 years ago

My team have all recently upgraded to Windows 10 and I am having trouble getting the plugin to load on our new setup. We are now running QGIS version 3.0.1 on Windows 10. I have had no trouble recently using the FSC plugin on QGIS 3.2 and 2.18.

When trying to install Tombio 3.2 I get the following message:

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

ModuleNotFoundError: No module named 'qgscollapsiblegroupbox' Traceback (most recent call last): File "C:/PROGRA~1/QGIS3~1.0/apps/qgis/./python\qgis\utils.py", line 336, in startPlugin plugins[packageName] = package.classFactory(iface) File "C:/Users/MyName/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\TomBio__init__.py", line 26, in classFactory from .tombio import TomBio File "C:/PROGRA~1/QGIS3~1.0/apps/qgis/./python\qgis\utils.py", line 664, in _import mod = _builtin_import(name, globals, locals, fromlist, level) File "C:/Users/MyName/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\TomBio\tombio.py", line 28, in from . import nbndialog File "C:/PROGRA~1/QGIS3~1.0/apps/qgis/./python\qgis\utils.py", line 664, in _import mod = _builtin_import(name, globals, locals, fromlist, level) File "C:/Users/MyName/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\TomBio\nbndialog.py", line 23, in from . import ui_nbn File "C:/PROGRA~1/QGIS3~1.0/apps/qgis/./python\qgis\utils.py", line 664, in _import mod = _builtin_import(name, globals, locals, fromlist, level) File "C:/Users/MyName/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\TomBio\ui_nbn.py", line 825, in from qgscollapsiblegroupbox import QgsCollapsibleGroupBox File "C:/PROGRA~1/QGIS3~1.0/apps/qgis/./python\qgis\utils.py", line 664, in _import mod = _builtin_import(name, globals, locals, fromlist, level) ModuleNotFoundError: No module named 'qgscollapsiblegroupbox'

Python version: 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 08:06:12) [MSC v.1900 64 bit (AMD64)] QGIS version: 3.0.1-Girona Girona, a86bec25eb


I know the obvious answer would be to try a later version of QGIS but unfortunately we are constrained by security and are waiting for version 3.4 to be approved and scripted by our ICT team, which may take a while.

Do you have any suggestions?

*edited - we are using version 3.0.1 Girona

burkmarr commented 5 years ago

Hello - thanks for bringing this to my attention. I will see if I can reproduce it and, if so, hopefully give you a workaround or some other fix. I'll let you know what I find.

burkmarr commented 5 years ago

This problem has arisen because QGIS changed the way it imported the python libraries containing custom QGIS widgets after version 3.0. The new way of importing looks like this - from qgscollapsiblegroupbox import QgsCollapsibleGroupBox - but the old way looked like this - from qgis.gui import QgsCollapsibleGroupBox. I've created a branch of the software that uses the old method here: [https://github.com/FieldStudiesCouncil/QGIS-Biological-Recording-Tools/tree/for-QGIS-3.0]().

Here's how you can use this to workaround your problem:

  1. From the link above, download the zipfile of the branch (Clone or download > Download ZIP) to your computer.
  2. Unzip the zipfile to somewhere convenient.
  3. Copy these three files from the extracted files: ui_nbn.py, ui_mapmashup.py and ui_biorec.py.
  4. Open the folder containing the FSC QGIS plugin files (from QGIS goto Settings > User Profiles > Open Active Profile Folder; then in the Windows Explorer to into the python/plugins/TomBio folder).
  5. Paste in the three files you copied - replacing those already there.

That should fix the problem for your computer. You will need to copy those three files to the relevant plugin folder on any computer that has the problem. Let me know how you get on.

burkmarr commented 5 years ago

I should have specified above that this is a fix for the latest version of the plugin - so make sure that you have that installed first.

Ichneumonsuspiciosus commented 5 years ago

Many thanks Rich, I have the whole team up and running now with the new plugin.

The new navigation features and the 'Add GR' tool are going to be extremely useful. Thanks again!

burkmarr commented 5 years ago

You're welcome! :)

thisisthesea commented 5 years ago

I have had a similar problem to Ichneumonsuspiciosus that is:

Couldn't load plugin 'TomBio' due to an error when calling its classFactory() method ModuleNotFoundError: No module named 'qgscollapsiblegroupbox'

I found this thread and then followed the link you posted above to download the zipfile but... clicking on the link circled me back to the same page I'm at now and I can't see any obvious download link?

Thanks.

PS - I am using QGIS version | 3.0.0-Girona

burkmarr commented 5 years ago

That's strange - this is the link again: https://github.com/FieldStudiesCouncil/QGIS-Biological-Recording-Tools/tree/for-QGIS-3.0 If it doesn't work automatically, cut and paste it into your browser's addressbar. Do you have a similar reason for not moving on from 3.0.0? I urge you to do so if you can since that version was for 'early adopters' and therefore has it's problems. Version 3.4 is the current long-term stable release.

thisisthesea commented 5 years ago

That's great, thanks very much, your link worked and I've downloaded the zip file no problem. I can't claim any good reason for not updating to a more recent version! Thanks for the advice, it's a useful nudge :-) I'll update to 3.4 and then apply your workaround.

burkmarr commented 5 years ago

Don't do that! If you update to 3.4, the workaround is not needed!

thisisthesea commented 5 years ago

Ok, no problem. Thanks for your time and work on the plugin.