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

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐