Yolo11官方代码结构如图:
如果在此目录下导入,是没有任何问题的,可以正常运行。
from ultralytics import YOLO
但是如果想要在同级目录下新建py文件, 一般会改成下面这种,才能识别到,但是运行的时候会报错。出现:ImportError: cannot import name '__version__' from 'ultralytics' (unknown location)等导入问题。
from ultralytics.ultralytics import YOLO
这时候就需要在导入前加入该路径,并把父目录添加到sys.path中。
import sys
import os
#获取当前文件的绝对路径
current_dir = os.path.dirname(os.path.abspath(__file__))
print(current_dir)
# 将 ultralytics 的父目录添加到 sys.path
sys.path.append(os.path.join(current_dir, 'ultralytics'))
此时又会出现一个问题,不影响运行,但是影响美观,vscode会报无法解析导入Import ultralytics.xxx could not be resolved)。
需要使用 settings.json
手动指定 Python 的 PYTHONPATH
。
- 打开
.vscode/settings.json
文件(如果不存在,请创建),添加如下内容:{ "python.analysis.extraPaths": ["./ultralytics"] }
-
Pycharm则只需要右键,把该目录标记为源根目录。Mark Directory as -> Sources Root