在Django REST框架项目中导入ultralytics遇libcublas缺失错误如何解决?
解决ultralytics导入时的libcublas.so缺失问题
问题描述
在Django REST框架项目中使用Poetry作为依赖管理器,已通过poetry add ultralytics完成安装,但导入库时出现如下错误:
ValueError: libcublas.so.*[0-9] not found in the system path [我的项目和虚拟环境路径]
解决方案
1. 检查并安装CUDA Toolkit
ultralytics默认依赖CUDA实现GPU加速,libcublas.so是CUDA的核心运算库。
- 运行
nvcc --version验证CUDA是否已安装:- 若无版本输出,需根据操作系统和显卡型号安装对应版本的CUDA Toolkit(推荐11.8或12.x版本,需匹配ultralytics的支持范围)。
2. 配置CUDA库的环境变量
若已安装CUDA但仍报错,需将CUDA的库路径加入系统环境变量:
- Linux/macOS:
临时生效:执行export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
永久生效:将上述命令添加到~/.bashrc或~/.zshrc文件,执行source ~/.bashrc(或对应shell配置文件)生效。 - Windows:
打开「系统属性-高级-环境变量」,在系统变量的PATH中添加C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.X\libnvvp(替换X.X为你的CUDA版本号)。
3. 强制使用CPU运行(临时方案)
如果暂时不需要GPU加速,可通过环境变量强制ultralytics使用CPU:
import os os.environ["CUDA_VISIBLE_DEVICES"] = "-1" from ultralytics import YOLO
4. 安装仅CPU版本的ultralytics
若无需GPU支持,直接安装CPU专属版本:
poetry add ultralytics --extras cpu
内容的提问来源于stack exchange,提问作者Mahmoud Aboelsoud
相关产品推荐
相关产品推荐

