Ultralytics 版本不一致问题排查记录

Ultralytics 版本不一致问题排查记录

🧩 问题描述

在同一个 Conda 环境 yoloyolo 中:

  • PyCharm 运行 .py 文件时:
    • Ultralytics 版本:8.3.100
  • 终端执行 pip show ultralytics
    • Ultralytics 版本:8.4.24

看似同一环境,但版本不一致。


🔍 排查过程

1️⃣ 确认 Python 路径

import sys
print(sys.executable)

输出:

D:\conda_envs\yoloyolo\python.exe

✔ 说明 PyCharm 使用的是正确的 Conda 环境。


2️⃣ 查看 pip 安装的版本

pip show ultralytics

输出:

Version: 8.4.24
Location: d:\conda_envs\yoloyolo\lib\site-packages

✔ pip 安装的是最新版本。


3️⃣ 检查实际导入路径

import ultralytics
print(ultralytics.__file__)

输出:

L:\ultralytics\ultralytics\__init__.py

❗ 关键发现:

Python 实际加载的是 项目目录中的 ultralytics 源码,而不是 site-packages 中的版本。


🧠 问题根本原因

Python 的模块加载顺序如下:

1. 当前工作目录
2. sys.path
3. site-packages

当前项目结构:

L:\ultralytics\
    ultralytics\

因此:

本地路径 > site-packages

👉 导致本地旧版本(8.3.100)覆盖了 pip 安装的新版本(8.4.24)


🚀 解决方案

✅ 方案一(推荐):删除本地源码

如果不需要修改源码:

删除目录:
L:\ultralytics\ultralytics

✅ 方案二:修改项目目录名称

避免命名冲突:

L:\ultralytics  →  L:\yolo_project

⚠️ 方案三:修改 sys.path(不推荐)

import sys
sys.path.pop(0)

👉 临时解决,不建议长期使用。


⚠️ 额外问题:依赖损坏

终端提示:

WARNING: Ignoring invalid distribution -illow
WARNING: Ignoring invalid distribution -umpy

说明:

  • pillow 安装损坏
  • numpy 安装损坏

🔧 修复方法

pip uninstall pillow numpy -y
pip install pillow numpy

✅ 最终结论

项目状态
Python 环境✅ 正确
pip 安装版本✅ 最新
实际运行版本❌ 被本地源码覆盖

🎯 一句话总结

问题本质:本地 ultralytics 源码覆盖了 pip 安装的版本


📌 建议

  • 避免项目目录与第三方库同名
  • 优先使用:
python -m pip install xxx
  • 定期检查导入路径:
import 包名
print(包名.__file__)

🧪 验证修复结果

import ultralytics
print(ultralytics.__version__)
print(ultralytics.__file__)

期望输出:

8.4.24
...site-packages/ultralytics/...

✅ 至此问题解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值