ImportError:您正在使用的`scipy`安装似乎已损坏,(无法导入扩展模块),请尝试重新安装

Lak*_*e52 5 python numpy scipy python-3.x scikit-learn

当我尝试通过 Jupyter 笔记本在 Python3.9 中使用 scipy 或 sklearn 包时,我总是遇到此错误。

错误是:

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
~/opt/anaconda3/lib/python3.9/site-packages/scipy/__init__.py in <module>
    165     try:
--> 166         from scipy._lib._ccallback import LowLevelCallable
    167     except ImportError as e:

~/opt/anaconda3/lib/python3.9/site-packages/scipy/_lib/_ccallback.py in <module>
----> 1 from . import _ccallback_c
      2 
      3 import ctypes

ImportError: dlopen(/Users/dn/opt/anaconda3/lib/python3.9/site-packages/scipy/_lib/_ccallback_c.cpython-39-darwin.so, 0x0002): tried: '/Users/dn/opt/anaconda3/lib/python3.9/site-packages/scipy/_lib/_ccallback_c.cpython-39-darwin.so' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64'))

The above exception was the direct cause of the following exception:

ImportError                               Traceback (most recent call last)
/var/folders/d7/q_fznsr95_97r6lp_mx_vp640000gn/T/ipykernel_37825/912110602.py in <module>
      1 #import scipy
----> 2 from sklearn.ensemble import RandomForestClassifier #Picks up non-linearities

~/opt/anaconda3/lib/python3.9/site-packages/sklearn/__init__.py in <module>
     80     from . import _distributor_init  # noqa: F401
     81     from . import __check_build  # noqa: F401
---> 82     from .base import clone
     83     from .utils._show_versions import show_versions
     84 

~/opt/anaconda3/lib/python3.9/site-packages/sklearn/base.py in <module>
     15 from . import __version__
     16 from ._config import get_config
---> 17 from .utils import _IS_32BIT
     18 from .utils._tags import (
     19     _DEFAULT_TAGS,

~/opt/anaconda3/lib/python3.9/site-packages/sklearn/utils/__init__.py in <module>
     20 import warnings
     21 import numpy as np
---> 22 from scipy.sparse import issparse
     23 
     24 from .murmurhash import murmurhash3_32

~/opt/anaconda3/lib/python3.9/site-packages/scipy/__init__.py in <module>
    169               "(extension modules cannot be imported), " + \
    170               "please try reinstalling."
--> 171         raise ImportError(msg) from e
    172 
    173     from scipy._lib._testutils import PytestTester

ImportError: The `scipy` install you are using seems to be broken, (extension modules cannot be imported), please try reinstalling.
Run Code Online (Sandbox Code Playgroud)

我尝试按照文档中的描述卸载并重新安装 scipy 以及使用自制程序,但仍然遇到相同的错误。

有谁知道如何解决这个问题?几周前,Scipy 正在我的机器上工作 - 不确定过去几周发生了什么变化。

非常感谢任何帮助。

小智 0

我也面临同样的问题,但重新安装对我有用。使用Anaconda(或Miniconda)卸载和安装scipy

pip uninstall scipy
pip install scipy
Run Code Online (Sandbox Code Playgroud)

在调试过程中,我还升级 pip 并安装它们,spider也许它们包含任何对我有帮助的包。