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/...
✅ 至此问题解决。
258

被折叠的 条评论
为什么被折叠?



