UMEP-dev / UMEP-processing

7 stars 9 forks source link

Error with numba in URock #28

Closed gusbacos closed 1 year ago

gusbacos commented 1 year ago

Error when starting QGIS 3.30.2 & 3.28.6

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

SystemError: initialization of _internal failed without raising an exception 
Traceback (most recent call last):
  File "C:\OSGeo4W/apps/qgis/./python\qgis\utils.py", line 423, in _startPlugin
    plugins[packageName] = package.classFactory(iface)
  File "C:\Users/xbacos/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\processing_umep\__init__.py", line 38, in classFactory
    from .processing_umep import ProcessingUMEPPlugin
  File "C:\OSGeo4W/apps/qgis/./python\qgis\utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "C:\Users/xbacos/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\processing_umep\processing_umep.py", line 38, in 
    from .processing_umep_provider import ProcessingUMEPProvider
  File "C:\OSGeo4W/apps/qgis/./python\qgis\utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "C:\Users/xbacos/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\processing_umep\processing_umep_provider.py", line 54, in 
    from .processor.urock_processing_algorithm import URockAlgorithm
  File "C:\OSGeo4W/apps/qgis/./python\qgis\utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "C:\Users/xbacos/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\processing_umep\processor\urock_processing_algorithm.py", line 63, in 
    from ..functions.URock import MainCalculation
  File "C:\OSGeo4W/apps/qgis/./python\qgis\utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "C:\Users/xbacos/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\processing_umep\functions\URock\MainCalculation.py", line 19, in 
    from . import WindSolver
  File "C:\OSGeo4W/apps/qgis/./python\qgis\utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "C:\Users/xbacos/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\processing_umep\functions\URock\WindSolver.py", line 18, in 
    from numba import jit
  File "C:\OSGeo4W/apps/qgis/./python\qgis\utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "C:\Users\xbacos\AppData\Roaming\Python\Python39\site-packages\numba\__init__.py", line 42, in 
    from numba.np.ufunc import (vectorize, guvectorize, threading_layer,
  File "C:\OSGeo4W/apps/qgis/./python\qgis\utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "C:\Users\xbacos\AppData\Roaming\Python\Python39\site-packages\numba\np\ufunc\__init__.py", line 3, in 
    from numba.np.ufunc.decorators import Vectorize, GUVectorize, vectorize, guvectorize
  File "C:\OSGeo4W/apps/qgis/./python\qgis\utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "C:\Users\xbacos\AppData\Roaming\Python\Python39\site-packages\numba\np\ufunc\decorators.py", line 3, in 
    from numba.np.ufunc import _internal
  File "C:\OSGeo4W/apps/qgis/./python\qgis\utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
SystemError: initialization of _internal failed without raising an exception

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.30.2-'s-Hertogenbosch 's-Hertogenbosch, 0992b533

running import numba in python console generate similar error

`Traceback (most recent call last):
  File "C:\OSGeo4W\apps\Python39\lib\code.py", line 90, in runcode
    exec(code, self.locals)
  File "<input>", line 1, in <module>
  File "C:\OSGeo4W/apps/qgis-ltr/./python\qgis\utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "C:\Users\xbacos\AppData\Roaming\Python\Python39\site-packages\numba\__init__.py", line 42, in <module>
    from numba.np.ufunc import (vectorize, guvectorize, threading_layer,
  File "C:\OSGeo4W/apps/qgis-ltr/./python\qgis\utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "C:\Users\xbacos\AppData\Roaming\Python\Python39\site-packages\numba\np\ufunc\__init__.py", line 3, in <module>
    from numba.np.ufunc.decorators import Vectorize, GUVectorize, vectorize, guvectorize
  File "C:\OSGeo4W/apps/qgis-ltr/./python\qgis\utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "C:\Users\xbacos\AppData\Roaming\Python\Python39\site-packages\numba\np\ufunc\decorators.py", line 3, in <module>
    from numba.np.ufunc import _internal
  File "C:\OSGeo4W/apps/qgis-ltr/./python\qgis\utils.py", line 888, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
SystemError: initialization of _internal failed without raising an exception
nilswallenberg commented 1 year ago

I upgraded to numpy 1.23.5 and now it works, i.e. numba 0.56.4 requires numpy 1.23.5 (or at least not numpy 1.23.2).

gusbacos commented 1 year ago

Worked

biglimp commented 1 year ago

I have numba=0.56.4 and numpy 1.20.2 and it works.

j3r3m1 commented 1 year ago

How do we solve this exception ? Setting a given numpy and numba version ? But then it might affect other dependencies

nilswallenberg commented 1 year ago

There is a new version of numba, 0.57.0, (released 1 May). Tried it with numpy 1.23.2 and it works. Not sure about other numpy versions though...

nilswallenberg commented 1 year ago

Also tried reinstalling numba 0.56.4 and now it works with numpy 1.23.2....

j3r3m1 commented 1 year ago

Should now be solved