Win11 64位环境下YOLOv7启动报错:_fblas加载DLL失败
解决YOLOv7训练时scipy._fblas DLL加载失败问题
问题场景
- 系统:Windows 11 64位
- Python版本:3.9(更换其他版本后问题仍存在)
- 环境:通过Anaconda安装YOLOv7全部依赖包
- 触发时机:启动
train.py开始训练时抛出导入错误 - 核心报错:
ImportError: DLL load failed while importing _fblas: %1 不是有效的 Win32 应用程序
完整报错堆栈:
Traceback (most recent call last): File "C:\Users\iirof\PycharmProjects\rf_detect_mob\yolov7-custom\train.py", line 24, in <module> import test # import test.py to get mAP after each epoch File "C:\Users\iirof\PycharmProjects\rf_detect_mob\yolov7-custom\test.py", line 12, in <module> from models.experimental import attempt_load File "C:\Users\iirof\PycharmProjects\rf_detect_mob\yolov7-custom\models\experimental.py", line 6, in <module> from models.common import Conv, DWConv File "C:\Users\iirof\PycharmProjects\rf_detect_mob\yolov7-custom\models\common.py", line 17, in <module> from utils.plots import color_list, plot_one_box File "C:\Users\iirof\PycharmProjects\rf_detect_mob\yolov7-custom\utils\plots.py", line 19, in <module> from scipy.signal import butter, filtfilt File "C:\Users\iirof\anaconda3\envs\rf\lib\site-packages\scipy\signal\__init__.py", line 309, in <module> from . import _sigtools, windows File "C:\Users\iirof\anaconda3\envs\rf\lib\site-packages\scipy\signal\windows\__init__.py", line 41, in <module> from ._windows import * File "C:\Users\iirof\anaconda3\envs\rf\lib\site-packages\scipy\signal\windows\_windows.py", line 7, in <module> from scipy import linalg, special, fft as sp_fft File "C:\Users\iirof\anaconda3\envs\rf\lib\site-packages\scipy\__init__.py", line 233, in __getattr__ return _importlib.import_module(f'scipy.{name}') File "C:\Users\iirof\anaconda3\envs\rf\lib\importlib\__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "C:\Users\iirof\anaconda3\envs\rf\lib\site-packages\scipy\linalg\__init__.py", line 197, in <module> from ._misc import * File "C:\Users\iirof\anaconda3\envs\rf\lib\site-packages\scipy\linalg\_misc.py", line 3, in <module> from .blas import get_blas_funcs File "C:\Users\iirof\anaconda3\envs\rf\lib\site-packages\scipy\linalg\blas.py", line 213, in <module> from scipy.linalg import _fblas ImportError: DLL load failed while importing _fblas: %1 不是有效的 Win32 应用程序。
解决方案
1. 确认Anaconda环境架构
先检查当前conda环境是否为64位:
conda info
查看输出里的platform字段,必须是win-64。如果是32位,卸载现有Anaconda,重新安装64位版本。
2. 重装适配的scipy包
先卸载当前scipy:
pip uninstall scipy -y
用conda重新安装兼容64位Windows的版本:
conda install scipy -c conda-forge
或者指定和Python3.9匹配的具体版本:
conda install scipy=1.7.3 -c conda-forge
3. 清理依赖冲突
清理conda缓存,避免残留的32位包:
conda clean --all
然后重新安装YOLOv7依赖:
pip install -r requirements.txt
确保requirements.txt里的包版本都适配64位系统和Python3.9。
4. 补充系统运行库
安装scipy依赖的Visual C++运行库:
conda install vs2015_runtime -c conda-forge
5. 重建虚拟环境
如果以上方法都无效,直接创建全新的64位虚拟环境:
conda create -n yolov7_env python=3.9 -y conda activate yolov7_env pip install -r requirements.txt
内容的提问来源于stack exchange,提问作者Maksim Subbotin
相关产品推荐
相关产品推荐

