QGIS-Contribution / QGIS-ResourceSharing

QGIS Resource Sharing Plugin
http://qgis-contribution.github.io/QGIS-ResourceSharing/
GNU Affero General Public License v3.0
40 stars 18 forks source link

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

Closed mbalinos closed 9 months ago

mbalinos commented 3 years ago

Environment

What is the bug?

Include some logs here, in QGIS Logs panel, bottom right icon, the small bubbles.

I have tried the Plugin in Windows 10 Home Edition and did not have the same error as in GNU Linux Debian Buster 10. Below is the error log using GNU Linux Debian Buster 10. Thank you for your help. - Marygrace

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

FileNotFoundError: [Errno 2] No such file or directory: '' 
Traceback (most recent call last):
  File "~/qgis-ltr-dev/app/share/qgis/python/qgis/utils.py", line 334, in _startPlugin
    plugins[packageName] = package.classFactory(iface)
  File "~/qgis-ltr-dev/app/profiles/mcb2/python/plugins/qgis_resource_sharing/__init__.py", line 56, in classFactory
    return Plugin(iface)
  File "~/qgis-ltr-dev/app/profiles/mcb2/python/plugins/qgis_resource_sharing/resource_sharing/plugin.py", line 61, in __init__
    self.dlg = ResourceSharingDialog(iface=self.iface)
  File "~/qgis-ltr-dev/app/profiles/mcb2/python/plugins/qgis_resource_sharing/resource_sharing/gui/resource_sharing_dialog.py", line 155, in __init__
    self.repository_manager = RepositoryManager()
  File "~/qgis-ltr-dev/app/profiles/mcb2/python/plugins/qgis_resource_sharing/resource_sharing/repository_manager.py", line 72, in __init__
    self.fetch_online_directories()
  File "~/qgis-ltr-dev/app/profiles/mcb2/python/plugins/qgis_resource_sharing/resource_sharing/repository_manager.py", line 95, in fetch_online_directories
    with open(directory_file.fileName()) as csv_file:
FileNotFoundError: [Errno 2] No such file or directory: ''

Python version: 3.7.3 (default, Jul 25 2020, 13:03:44) [GCC 8.3.0] 
QGIS version: 3.10.13-A Coruña A Coruña, 1353ce2860 

Python Path:
~/qgis-ltr-dev/app/share/qgis/python
~/qgis-ltr-dev/app/profiles/mcb2/python
~/qgis-ltr-dev/app/profiles/mcb2/python/plugins
~/qgis-ltr-dev/app/share/qgis/python/plugins
/usr/lib/python37.zip
/usr/lib/python3.7
/usr/lib/python3.7/lib-dynload
/usr/local/lib/python3.7/dist-packages
/usr/lib/python3/dist-packages
~/qgis-ltr-dev/app/profiles/mcb2/python
~/qgis-ltr-dev/app/profiles/mcb2/python/plugins/qgis_resource_sharing/ext_libs
Guts commented 2 years ago

Hello @mbalinos,

A new version is available with a bunch of improvments and fixes:

For now, it's still flagged as experimental.
Can you test again and tell me if you still encounter this bug please?

Humboldt35 commented 1 year ago

Hi Guts and mbalinos! I got same bug after updating/reinstaling the plugin (Resource Sharing ver. 1.0/ QGis ver. 3.26). Attached log file Variable de entorno QGIS_PREFIX_PATH: C:/OSGeo4W/apps/qgis Prefijo: C:/OSGeo4W/apps/qgis Ruta de complementos: C:/OSGeo4W/apps/qgis/plugins Ruta de datos del paquete: C:/OSGeo4W/apps/qgis/. Nombre del tema activo: default Ruta del tema activo: C:/OSGeo4W/apps/qgis/./resources/themes\default\icons/ Ruta del tema predeterminado: :/images/themes/default/ Rutas de búsqueda de SVG: C:/PROGRA~1/QGIS32~1.1/apps/qgis/./svg/ C:/Users/usuario/AppData/Roaming/QGIS/QGIS3\profiles\default/svg/ C:/OSGeo4W/apps/qgis/./svg/ C:\Users\usuario\AppData\Roaming\QGIS\QGIS3\profiles\default\resource_sharing\collections Ruta de la base de datos del usuario: C:/OSGeo4W/apps/qgis/./resources/qgis.db Ruta de la base de datos de autenticación: C:/Users/usuario/AppData/Roaming/QGIS/QGIS3\profiles\default/qgis-auth.db

Thanks for your help!!

Humboldt35 commented 1 year ago

Bug_QGis_Resource Sharing

Humboldt35 commented 1 year ago

Hello @mbalinos,

A new version is available with a bunch of improvments and fixes:

For now, it's still flagged as experimental. Can you test again and tell me if you still encounter this bug please?

I have tried installing beta version but still getting same bug problem. What would U suggest to do for fixing that problem?? Thanks in advance!!

Humboldt35 commented 1 year ago

Hi Guts Hi and mbalinos! I couldn't install the plugin yet. Same error when trying. Is there any solution for that issue?? I would greatly appreciate if U have a possible suggestion for fixing it. Thanks in advance!!

afourneyron commented 9 months ago

Hi @Guts i have the same error og @mbalinos and @Humboldt35. I tried to install the beta version to test. But the installation fails with this error:

image

if you have any ideas or advice, I'd love to hear from you.

In any case, thank you for all your developments, you're really doing a great job. Thanks for your help!!

Guts commented 9 months ago

Why do you test the beta version since a stable 1.0.0 is available then?

In case you missed it, I've just announced a development cycle granted by @oslandia. See: https://github.com/QGIS-Contribution/QGIS-ResourceSharing/discussions/322

I'll look into those blocking issues in next weeks. In the meanwhile, could give more inputs about your environment?

Thank for your interest and kind words

afourneyron commented 9 months ago

Hello Guts, Thanks for your reply!

I tested the beta version and the stable version, I hadn't seen the stable version at first. but same error.

Thanks for clarifying the development cycle! Oslandia does a great job for the QGIS community. Congratulations again and thank you.

As far as I'm concerned, nothing urgent, we've got round the problem by using our servers to provide a picto library. But if we could share picto with the community, that would be great.

To give you more information about our environment : -The profile is managed by the IS department. (there may be some leftovers). -Windows -3.28.14-Firenze

Thank again for all :)

Guts commented 9 months ago

I tested the beta version and the stable version, I hadn't seen the stable version at first. but same error.

I've just released a 1.1.0-beta1 version in the experimental plugins channel. Can you try it again with this version please?

As far as I'm concerned, nothing urgent, we've got round the problem by using our servers to provide a picto library. But if we could share picto with the community, that would be great.

If you're interested in providing end-users resources like symbols or everything that takes place in a QGIS profiles, give it a try to https://guts.github.io/qgis-deployment-cli/ (disclaimer: I'm the main author behind the scenes).

afourneyron commented 9 months ago

Yes, after testing version 1.1.0-beta1. Installation went smoothly. And best of all, adding and downloading git repositories works like a charm ! 💯

Many thanks' @Guts for your work, your time and your help.

I hope you have a lovely evening and I'm always available for testing if you need me to :)

Guts commented 9 months ago

Thanks for testing and reporting the good news here!

And writing godd vibes too :hugs:.

Solved in 1.1.0-beta1.

Humboldt35 commented 9 months ago

Hi folks! Morning all!. Still having the isssue after installing 1.1.0-beta1 ver. and also I have updated QGis version to last one (Prizren). Don't know what would be the problem. I am running Win 11, not any network or other relevant setting on current prg setup. If necessary I would send a new log file. Thanks for answering, good for Axel that could fix it!! Cheers!

Guts commented 9 months ago

Sad to read that it did not fix your issue @Humboldt35!
Can you try on a new QGIS profile please?

Settings > User profiles > New Profile... > test_resource_sharing

If you are on Linux, you can run something like that:

qgis --profiles-path /tmp/QGIS/debug --profile test_resource_sharing

If you are on Windows, you should run something like this (adapt to your QGIS exe path):

PS C:\Program Files\OSGeo4W\QGIS\LTR\bin> .\qgis-ltr-bin.exe --profiles-path $env:TMP/QGIS/debug --profile test_resource_sharing

Then, enable experimental extensions channel and try to install it.

Regarding the supported version, we're gonna to remove older versions than LTR (3.28 for now, 3.34 in a few weeks).

Humboldt35 commented 9 months ago

Hi Guts, I have tried it on a New Profile and it worked well, not prompt any error message. What could be the main problem?? any previous installation??. Your last suggestion is for applying while the program is closed, is that right?. Thanks for ur quick answer!

Guts commented 9 months ago

Hi Guts, I have tried it on a New Profile and it worked well, not prompt any error message. What could be the main problem?? any previous installation??.

Maybe. Try to remove the entire plugin folder by uninstalling it and, if necessary removing every related folder in the profile.

Your last suggestion is for applying while the program is closed, is that right?. Thanks for ur quick answer!

Not sure to understand what you mean by suggestion... Creating a profile on the fly in a temp folder? Or removing older QGIS versions support?

Humboldt35 commented 9 months ago

Hi Guts! I was refering to testing a new profile while installing QGis Resource Sharing in this profile. When changing btw profiles error prompted again with these logs:

**Plugin error:**
2024-02-01T09:04:57     INFO    Loaded Geometry Checker (Path: C:/PROGRA~1/QGIS33~1.3/apps/qgis/plugins/plugin_geometrychecker.dll)
2024-02-01T09:04:58     INFO    Loaded Topology Checker (Path: C:/PROGRA~1/QGIS33~1.3/apps/qgis/plugins/plugin_topology.dll)
2024-02-01T09:04:58     INFO    Loaded Active FIre (package: active_fire)
2024-02-01T09:04:58     INFO    Loaded autoSaver (package: autoSaver)
2024-02-01T09:05:00     INFO    Loaded Data Plotly (package: DataPlotly)
2024-02-01T09:05:00     INFO    Loaded GeoCoding (package: GeoCoding)
2024-02-01T09:05:00     INFO    Loaded go2streetview (package: go2streetview)
2024-02-01T09:05:00     INFO    Loaded KML Tools (package: kmltools)
2024-02-01T09:05:00     INFO    Loaded mmqgis (package: mmqgis)
2024-02-01T09:05:00     INFO    Loaded OneAtlas (package: oneatlas-qgis-plugin-1_0_1)
2024-02-01T09:05:00     INFO    Loaded Online Routing Mapper (package: OnlineRoutingMapper)
2024-02-01T09:05:00     INFO    Loaded ORS Tools (package: ORStools)
2024-02-01T09:05:01     INFO    Loaded OSMDownloader (package: OSMDownloader)
2024-02-01T09:05:01     INFO    Loaded MapTiler (package: qgis-maptiler-plugin)
2024-02-01T09:05:01     INFO    Loaded QGIS Cloud Plugin (package: qgiscloud)
2024-02-01T09:05:01     INFO    Loaded QGIS Resource Sharing (package: qgis_resource_sharing)
2024-02-01T09:05:01     INFO    Loaded QNEAT3 (package: QNEAT3)
2024-02-01T09:05:01     INFO    Loaded QuickOSM (package: QuickOSM)
2024-02-01T09:05:02     INFO    Loaded QuickMapServices (package: quick_map_services)
2024-02-01T09:05:02     INFO    Loaded SLYR (Community Edition) (package: slyr_community)
2024-02-01T09:05:02     INFO    Loaded Soar - the new atlas (package: soar)
2024-02-01T09:05:02     INFO    Loaded WhiteboxTools for QGIS (package: wbt_for_qgis)
2024-02-01T09:05:02     INFO    Loaded DB Manager (package: db_manager)
2024-02-01T09:05:03     INFO    Loaded GRASS GIS provider (package: grassprovider)
2024-02-01T09:05:03     INFO    Loaded MetaSearch Catalog Client (package: MetaSearch)
2024-02-01T09:05:03     INFO    Loaded OrfeoToolbox provider (package: otbprovider)
2024-02-01T09:05:04     INFO    Loaded Processing (package: processing)
---------------------------------------

**Phyton warnings:**
2024-02-01T09:04:59     WARNING    warning:C:\PROGRA~1\QGIS33~1.3\apps\Python39\lib\site-packages\plotly\express\imshow_utils.py:24: DeprecationWarning: `np.bool8` is a deprecated alias for `np.bool_`. (Deprecated NumPy 1.24)
              np.bool8: (False, True),

             traceback: File "", line 1, in 
              File "C:\PROGRA~1/QGIS33~1.3/apps/qgis/./python\qgis\utils.py", line 443, in startPlugin
              if not _startPlugin(packageName):
              File "C:\PROGRA~1/QGIS33~1.3/apps/qgis/./python\qgis\utils.py", line 423, in _startPlugin
              plugins[packageName] = package.classFactory(iface)
              File "C:\Users/usuario/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\DataPlotly\__init__.py", line 33, in classFactory
              from .data_plotly import DataPlotly
              File "C:\PROGRA~1/QGIS33~1.3/apps/qgis/./python\qgis\utils.py", line 888, in _import
              mod = _builtin_import(name, globals, locals, fromlist, level)
              File "", line 1007, in _find_and_load
              File "", line 986, in _find_and_load_unlocked
              File "", line 680, in _load_unlocked
              File "", line 850, in exec_module
              File "", line 228, in _call_with_frames_removed
              File "C:\Users/usuario/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\DataPlotly\data_plotly.py", line 36, in 
              from DataPlotly.processing.dataplotly_provider import DataPlotlyProvider
              File "C:\PROGRA~1/QGIS33~1.3/apps/qgis/./python\qgis\utils.py", line 888, in _import
              mod = _builtin_import(name, globals, locals, fromlist, level)
              File "", line 1007, in _find_and_load
              File "", line 986, in _find_and_load_unlocked
              File "", line 680, in _load_unlocked
              File "", line 850, in exec_module
              File "", line 228, in _call_with_frames_removed
              File "C:\Users/usuario/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\DataPlotly\processing\dataplotly_provider.py", line 27, in 
              from DataPlotly.processing.dataplotly_scatterplot import DataPlotlyProcessingScatterPlot
              File "C:\PROGRA~1/QGIS33~1.3/apps/qgis/./python\qgis\utils.py", line 888, in _import
              mod = _builtin_import(name, globals, locals, fromlist, level)
              File "", line 1007, in _find_and_load
              File "", line 986, in _find_and_load_unlocked
              File "", line 680, in _load_unlocked
              File "", line 850, in exec_module
              File "", line 228, in _call_with_frames_removed
              File "C:\Users/usuario/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\DataPlotly\processing\dataplotly_scatterplot.py", line 44, in 
              import plotly.express as px
              File "C:\PROGRA~1/QGIS33~1.3/apps/qgis/./python\qgis\utils.py", line 888, in _import
              mod = _builtin_import(name, globals, locals, fromlist, level)
              File "", line 1007, in _find_and_load
              File "", line 986, in _find_and_load_unlocked
              File "", line 680, in _load_unlocked
              File "", line 850, in exec_module
              File "", line 228, in _call_with_frames_removed
              File "C:\PROGRA~1\QGIS33~1.3\apps\Python39\lib\site-packages\plotly\express\__init__.py", line 15, in 
              from ._imshow import imshow
              File "C:\PROGRA~1/QGIS33~1.3/apps/qgis/./python\qgis\utils.py", line 888, in _import
              mod = _builtin_import(name, globals, locals, fromlist, level)
              File "", line 1007, in _find_and_load
              File "", line 986, in _find_and_load_unlocked
              File "", line 680, in _load_unlocked
              File "", line 850, in exec_module
              File "", line 228, in _call_with_frames_removed
              File "C:\PROGRA~1\QGIS33~1.3\apps\Python39\lib\site-packages\plotly\express\_imshow.py", line 6, in 
              from .imshow_utils import rescale_intensity, _integer_ranges, _integer_types
              File "C:\PROGRA~1/QGIS33~1.3/apps/qgis/./python\qgis\utils.py", line 888, in _import
              mod = _builtin_import(name, globals, locals, fromlist, level)
              File "", line 1007, in _find_and_load
              File "", line 986, in _find_and_load_unlocked
              File "", line 680, in _load_unlocked
              File "", line 850, in exec_module
              File "", line 228, in _call_with_frames_removed
              File "C:\PROGRA~1\QGIS33~1.3\apps\Python39\lib\site-packages\plotly\express\imshow_utils.py", line 24, in 
              np.bool8: (False, True),
              File "C:\PROGRA~1\QGIS33~1.3\apps\Python39\lib\site-packages\numpy\__init__.py", line 260, in __getattr__
              warnings.warn(msg, DeprecationWarning, stacklevel=2)

2024-02-01T09:05:01     WARNING    warning:C:\PROGRA~1/QGIS33~1.3/apps/qgis/./python\qgis\utils.py:888: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
              mod = _builtin_import(name, globals, locals, fromlist, level)

             traceback: File "", line 1, in 
              File "C:\PROGRA~1/QGIS33~1.3/apps/qgis/./python\qgis\utils.py", line 443, in startPlugin
              if not _startPlugin(packageName):
              File "C:\PROGRA~1/QGIS33~1.3/apps/qgis/./python\qgis\utils.py", line 423, in _startPlugin
              plugins[packageName] = package.classFactory(iface)
              File "C:\Users/usuario/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\OSMDownloader\__init__.py", line 34, in classFactory
              from .osmDownloader import OSMDownloader
              File "C:\PROGRA~1/QGIS33~1.3/apps/qgis/./python\qgis\utils.py", line 888, in _import
              mod = _builtin_import(name, globals, locals, fromlist, level)
              File "", line 1007, in _find_and_load
              File "", line 986, in _find_and_load_unlocked
              File "", line 680, in _load_unlocked
              File "", line 850, in exec_module
              File "", line 228, in _call_with_frames_removed
              File "C:\Users/usuario/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\OSMDownloader\osmDownloader.py", line 31, in 
              from .osmDownloader_dialog import OSMDownloaderDialog
              File "C:\PROGRA~1/QGIS33~1.3/apps/qgis/./python\qgis\utils.py", line 888, in _import
              mod = _builtin_import(name, globals, locals, fromlist, level)
              File "", line 1007, in _find_and_load
              File "", line 986, in _find_and_load_unlocked
              File "", line 680, in _load_unlocked
              File "", line 850, in exec_module
              File "", line 228, in _call_with_frames_removed
              File "C:\Users/usuario/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\OSMDownloader\osmDownloader_dialog.py", line 36, in 
              from .osm_downloader import OSMRequest
              File "C:\PROGRA~1/QGIS33~1.3/apps/qgis/./python\qgis\utils.py", line 888, in _import
              mod = _builtin_import(name, globals, locals, fromlist, level)
              File "", line 1007, in _find_and_load
              File "", line 986, in _find_and_load_unlocked
              File "", line 680, in _load_unlocked
              File "", line 850, in exec_module
              File "", line 228, in _call_with_frames_removed
              File "C:\Users/usuario/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\OSMDownloader\osm_downloader.py", line 25, in 
              from future import standard_library
              File "C:\PROGRA~1/QGIS33~1.3/apps/qgis/./python\qgis\utils.py", line 888, in _import
              mod = _builtin_import(name, globals, locals, fromlist, level)
              File "", line 1058, in _handle_fromlist
              File "", line 228, in _call_with_frames_removed
              File "", line 1007, in _find_and_load
              File "", line 986, in _find_and_load_unlocked
              File "", line 680, in _load_unlocked
              File "", line 850, in exec_module
              File "", line 228, in _call_with_frames_removed
              File "C:\PROGRA~1\QGIS33~1.3\apps\Python39\lib\site-packages\future\standard_library\__init__.py", line 65, in 
              import imp
              File "C:\PROGRA~1/QGIS33~1.3/apps/qgis/./python\qgis\utils.py", line 888, in _import
              mod = _builtin_import(name, globals, locals, fromlist, level)
              File "", line 1007, in _find_and_load
              File "", line 986, in _find_and_load_unlocked
              File "", line 680, in _load_unlocked
              File "", line 850, in exec_module
              File "", line 228, in _call_with_frames_removed
              File "C:\PROGRA~1\QGIS33~1.3\apps\Python39\lib\imp.py", line 31, in 
              warnings.warn("the imp module is deprecated in favour of importlib; "
----------------------------------------------------

**Phyton error:**
2024-02-01T09:05:01     CRITICAL    Traceback (most recent call last):
              File "C:\PROGRA~1/QGIS33~1.3/apps/qgis/./python\qgis\utils.py", line 423, in _startPlugin
              plugins[packageName] = package.classFactory(iface)
              File "C:\Users/usuario/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\qgis_resource_sharing\__init__.py", line 56, in classFactory
              return ResourceSharingPlugin(iface)
              File "C:\Users/usuario/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\qgis_resource_sharing\plugin.py", line 62, in __init__
              self.dlg = ResourceSharingDialog()
              File "C:\Users/usuario/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\qgis_resource_sharing\gui\resource_sharing_dialog.py", line 143, in __init__
              self.repository_manager = RepositoryManager()
              File "C:\Users/usuario/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\qgis_resource_sharing\repository_manager.py", line 74, in __init__
              self.load_repositories()
              File "C:\Users/usuario/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\qgis_resource_sharing\repository_manager.py", line 415, in load_repositories
              repo_collections = pickle.load(f)
             _pickle.UnpicklingError: invalid load key, '\x00'.

------------------------------------------

**Messages log:**
2024-02-01T09:05:01     WARNING    Python error : Couldn't load plugin 'qgis_resource_sharing' due to an error when calling its classFactory() method See message log (Python Error) for more details.

--------------------------------

**Processing log:**
2024-02-01T09:05:03     CRITICAL    Problem with OTB installation: OTB folder is not set.

--------------------

**General log:**
2024-02-01T09:05:04     INFO    Application state:
             QGIS_PREFIX_PATH env var: C:/PROGRA~1/QGIS33~1.3/apps/qgis
             Prefix: C:/PROGRA~1/QGIS33~1.3/apps/qgis
             Plugin Path: C:/PROGRA~1/QGIS33~1.3/apps/qgis/plugins
             Package Data Path: C:/PROGRA~1/QGIS33~1.3/apps/qgis/.
             Active Theme Name: default
             Active Theme Path: C:/PROGRA~1/QGIS33~1.3/apps/qgis/./resources/themes\default\icons/
             Default Theme Path: :/images/themes/default/
             SVG Search Paths: C:/PROGRA~1/QGIS32~1.1/apps/qgis/./svg/
              C:/Users/usuario/AppData/Roaming/QGIS/QGIS3\profiles\default/svg/
              C:/OSGeo4W/apps/qgis/./svg/
              C:\Users\usuario\AppData\Roaming\QGIS\QGIS3\profiles\default\resource_sharing\collections
              C:/PROGRA~1/QGIS32~1.3/apps/qgis/./svg/
              C:/PROGRA~1/QGIS33~1.0/apps/qgis/./svg/
              C:/PROGRA~1/QGIS33~1.3/apps/qgis/./svg/
             User DB Path: C:/PROGRA~1/QGIS33~1.3/apps/qgis/./resources/qgis.db
             Auth DB Path: C:/Users/usuario/AppData/Roaming/QGIS/QGIS3\profiles\default/qgis-auth.db

That's all logs showed, and if relevant, I noticed that when opening "Manage and Instal plugins" it start to update the repositories. Didn't happened before reinstalling new versions.

Thanks again, saludos

Humboldt35 commented 6 months ago

Hi Guts! Issue solved! Thanks!