【报错】记录一次yolov8 cannot import name ‘YOLO‘ from ‘ultralytics‘ (unknown location)报错,搞清楚全局环境和虚拟环境
报错记录和解决
刚刚在autodl,因为之前在根目录下的yolov8虚拟环境下面是已经安装了ultrlytics包的,所以进入了yolov8虚拟环境,结果出现如下报错:
(yolov8) root@autodl-container-97b611a952-679739f5:~# python tr.py
Traceback (most recent call last): File "tr.py", line 1, in <module> from ultralytics import YOLO
ImportError: cannot import name 'YOLO' from 'ultralytics' (unknown location)
提示,不能从ultralytics包导入这个类。
进行了一番尝试,发现问题是:我在全局环境(根目录)下也安装了ultralytics库,我在虚拟环境运行时候就报错了。
import sys
try:
import ultralytics
print(f"ultralytics is installed in the global Python environment at {ultralytics.__file__}")
except ImportError:
print("ultralytics is not installed in the global Python environment.")
进去看看
所以,直接退出虚拟环境,在root下运行,运行成功。
所以,,最佳方式是先创建一个虚拟环境,然后在该虚拟环境中安装ultralytics
库进行YOLOv8的训练。
注意,当使用pip install ultralytics
命令安装了ultralytics
库之后,理论上你就不需要再去GitHub仓库单独下载ultralytics
的打包压缩包了。pip install
命令会自动从Python Package Index (PyPI) 下载ultralytics
库及其所有依赖,并安装到你的虚拟环境中。这个过程中,库中包含的所有必需的文件和数据都会被正确地放置到Python能够找到的路径下。
训练YOLOV8正确的步骤:
1、打开autodl
2、检查conda是否安装:首先确认conda是否已经安装。输入命令:
conda --version
3、创建虚拟环境:创建一个名为yolov8_env
的环境,并指定Python版本为3.8:
conda create --name yolov8_env python=3.8
建议,安扎任务起名字,比如用yolov8_seg
4、激活虚拟环境:创建好环境后,激活它:
source activate yolov8_env
5、安装Ultralytics库
在激活的虚拟环境中,使用pip安装Ultralytics库:
pip install ultralytics
pip install ultralytics
6、开始训练
python mytrain.py
mytrian.py是自己写的脚本来运行训练yolov8的程序的
更多推荐
所有评论(0)