Open
Description
Scipy imports fail with mwpython.
This has already been reported to mathworks with no response
The reason why mwpython is needed at all seems to be graphics related
Here's the error I get
Traceback (most recent call last):
File "/Users/balbasty/Dropbox/Workspace/code/fil/spm2mne/Matlab2MNE_check.py", line 41, in <module>
raw = spm_2_mne_raw(mD)
File "/Users/balbasty/Dropbox/Workspace/code/fil/spm2mne/spm_mne_converter.py", line 38, in spm_2_mne_raw
info = mne.create_info(ch_names=channel_names, sfreq=sampling_freq, ch_types=channel_types)
File "/Users/balbasty/miniforge3/envs/spm/lib/python3.10/site-packages/lazy_loader/__init__.py", line 82, in __getattr__
submod = importlib.import_module(submod_path)
File "/Users/balbasty/miniforge3/envs/spm/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/Users/balbasty/miniforge3/envs/spm/lib/python3.10/site-packages/mne/_fiff/meas_info.py", line 21, in <module>
from ..utils import (
File "/Users/balbasty/miniforge3/envs/spm/lib/python3.10/site-packages/lazy_loader/__init__.py", line 82, in __getattr__
submod = importlib.import_module(submod_path)
File "/Users/balbasty/miniforge3/envs/spm/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/Users/balbasty/miniforge3/envs/spm/lib/python3.10/site-packages/mne/utils/numerics.py", line 20, in <module>
from scipy import sparse
File "/Users/balbasty/miniforge3/envs/spm/lib/python3.10/site-packages/scipy/__init__.py", line 134, in __getattr__
return _importlib.import_module(f'scipy.{name}')
File "/Users/balbasty/miniforge3/envs/spm/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/Users/balbasty/miniforge3/envs/spm/lib/python3.10/site-packages/scipy/sparse/__init__.py", line 315, in <module>
from . import csgraph
File "/Users/balbasty/miniforge3/envs/spm/lib/python3.10/site-packages/scipy/sparse/csgraph/__init__.py", line 187, in <module>
from ._laplacian import laplacian
File "/Users/balbasty/miniforge3/envs/spm/lib/python3.10/site-packages/scipy/sparse/csgraph/_laplacian.py", line 7, in <module>
from scipy.sparse.linalg import LinearOperator
File "/Users/balbasty/miniforge3/envs/spm/lib/python3.10/site-packages/scipy/sparse/linalg/__init__.py", line 131, in <module>
from ._isolve import *
File "/Users/balbasty/miniforge3/envs/spm/lib/python3.10/site-packages/scipy/sparse/linalg/_isolve/__init__.py", line 4, in <module>
from .iterative import *
File "/Users/balbasty/miniforge3/envs/spm/lib/python3.10/site-packages/scipy/sparse/linalg/_isolve/iterative.py", line 5, in <module>
from scipy.linalg import get_lapack_funcs
File "/Users/balbasty/miniforge3/envs/spm/lib/python3.10/site-packages/scipy/linalg/__init__.py", line 203, in <module>
from ._misc import *
File "/Users/balbasty/miniforge3/envs/spm/lib/python3.10/site-packages/scipy/linalg/_misc.py", line 3, in <module>
from .blas import get_blas_funcs
File "/Users/balbasty/miniforge3/envs/spm/lib/python3.10/site-packages/scipy/linalg/blas.py", line 213, in <module>
from scipy.linalg import _fblas
ImportError: dlopen(/Users/balbasty/miniforge3/envs/spm/lib/python3.10/site-packages/scipy/linalg/_fblas.cpython-310-darwin.so, 0x0002): Symbol not found: _caxpy$NEWLAPACK
Referenced from: <54500246-AE5B-3FDD-A054-9F941C9CE5D8> /Users/balbasty/miniforge3/envs/spm/lib/python3.10/site-packages/scipy/linalg/_fblas.cpython-310-darwin.so
Expected in: <81FFBDC1-F06D-3E68-825F-32A9B9F898B0> /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
I suppose some library path/flag is not set properly by mwpython. I don't have any idea how to fix this, but we should find a workaround. Otherwise, spm-python is essentially unsuable with the rest of the neuroimaging ecosystem (which is highly scipy-dependent).