Python/Jupyter Notebook中Scipy导入FileNotFoundError报错求助
Scipy加载DLL文件失败的解决办法
问题背景
完全没接触过编程,刚上两天编程课,用Scipy时一直报错。尝试安装Scipy 1.14.0但Anaconda不允许;新建conda环境也遇到其他错误,搜了一小时没解决,求帮忙。
报错详情
FileNotFoundError Traceback (most recent call last) Cell In[18], line 1 ----> 1 from scipy.integrate import quad 2 def func(x): # quad means integrate 3 return x**3 File ~\miniconda3\envs\gp\lib\site-packages\scipy\__init__.py:132 129 from scipy.version import version as __version__ 131 # Allow distributors to run custom init code --> 132 from . import _distributor_init 133 del _distributor_init 135 from scipy._lib import _pep440 File ~\miniconda3\envs\gp\lib\site-packages\scipy\_distributor_init.py:59 57 os.chdir(libs_path) 58 for filename in glob.glob(os.path.join(libs_path, '*dll')): ---> 59 WinDLL(os.path.abspath(filename)) 60 finally: 61 os.chdir(owd) File ~\miniconda3\envs\gp\lib\ctypes\__init__.py:373, in CDLL.__init__(self, name, mode, handle, use_errno, use_last_error, winmode) 370 self._FuncPtr = _FuncPtr 372 if handle is None: --> 373 self._handle = _dlopen(self._name, mode) 374 else: 375 self._handle = handle FileNotFoundError: Could not find module 'C:\Users\spino\miniconda3\envs\gp\lib\site-packages\scipy\.libs\libbanded5x.4HQRZL2D6UUGPVKYP75OJIKUJ77H7S4U.gfortran-win_amd64.dll' (or one of its dependencies). Try using the full path with constructor syntax.
解决步骤
- 更新conda到最新版本:打开Anaconda Prompt,执行
conda update conda,确保包管理器是最新的,避免版本兼容问题。 - 安装兼容版本的Scipy:不要指定1.14.0,直接执行
conda install scipy,让conda自动选择和当前环境匹配的稳定版本。 - 用Anaconda Navigator创建新环境:打开Navigator,切换到Environments标签,点击Create按钮,输入环境名称,选择Python 3.9-3.11之间的版本(这个区间对Scipy兼容性最好),创建完成后在新环境里安装Scipy。
- 安装Visual C运行库:Scipy依赖的Fortran编译DLL需要这个组件,去微软官网下载安装Visual C 2019可再发行组件包(x64版本)。
- 换用pip安装:如果conda安装还是有问题,激活当前环境
conda activate gp,先卸载Scipypip uninstall scipy -y,再用pip安装pip install scipy。
内容的提问来源于stack exchange,提问作者Gavin
相关产品推荐
相关产品推荐

