Conda环境yolov5无法找到torch模块的原因及解决方法求助
问题描述
昨日在Ubuntu 18.04 Linux服务器上创建了名为yolov5的Conda环境,执行的安装命令如下:
conda create --name yolov5 python=3.8.13 conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
随后使用pip安装了yolov5仓库的requirements.txt,所有步骤均顺利完成,且成功对示例图片进行了推理。同时克隆该环境创建了yolov5-2。
今日执行conda activate yolov5激活环境后,运行带参数的train.py时出现如下错误:
Traceback (most recent call last): File "/home/projects/yolov5/train.py", line 26, in <module> import torch ModuleNotFoundError: No module named 'torch'
激活yolov5后执行python --version显示版本为3.9.7,与base环境的Python版本完全一致;而克隆的yolov5-2环境运行正常,可正常导入torch。
可能原因
- 环境激活脚本损坏:
yolov5环境的激活配置文件出现异常,导致执行激活命令后,系统并未切换到该环境的Python解释器和依赖库,依然沿用base环境的配置。 - 环境变量优先级冲突:系统或用户的
PATH环境变量被修改,使得base环境的Python路径优先级高于yolov5环境,激活环境后仍调用base环境的Python。 - Conda环境核心文件损坏:
yolov5环境的Python解释器、依赖库索引等核心文件损坏,导致环境无法正常加载。
解决方法
方法1:排查并修复环境激活状态
- 激活
yolov5环境后,执行以下命令查看当前Python路径:
which python
若输出为base环境的Python路径(如/home/xxx/miniconda3/bin/python),说明环境未正确激活。
2. 重新初始化Conda并重启终端:
conda init bash
重启终端后再次激活yolov5环境,重新检查Python路径和版本。
方法2:重建或克隆正常环境
- 删除损坏的
yolov5环境:
conda remove --name yolov5 --all
- 直接从正常的
yolov5-2环境克隆新的yolov5环境:
conda create --name yolov5 --clone yolov5-2
或重新创建环境并安装依赖:
conda create --name yolov5 python=3.8.13 conda activate yolov5 conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch pip install -r /home/projects/yolov5/requirements.txt
方法3:手动指定环境解释器运行脚本
若暂时不想重建环境,可直接使用yolov5环境的Python解释器路径执行脚本:
- 获取
yolov5环境的Python路径:
conda run -n yolov5 which python
- 用该路径运行
train.py:
# 替换为上一步得到的路径 /path/to/yolov5/env/python /home/projects/yolov5/train.py [你的训练参数]
内容的提问来源于stack exchange,提问作者bit_scientist
相关产品推荐
相关产品推荐

