yolov8跟踪报错 File “_lapjv_src/_lapjv.pyx“, line 1, in init _lapjv ImportError: numpy.core.multiarray

yolov8跟踪报错 File “_lapjv_src/_lapjv.pyx”, line 1, in init _lapjv ImportError: numpy.core.multiarray

我的代码

from ultralytics import YOLO

# Load an official or custom model
model = YOLO("weights/yolov8m.pt")  # Load an official Detect model
# Perform tracking with the model
results = model.track("./input/20240608-212555.mp4", show=True, tracker="bytetrack.yaml")  # with ByteTrack

运行报错

/home/diyun/anaconda3/envs/pytorch_gpu/bin/python /home/diyun/work/python_project/24_0608_yolov8_SS928/ultralytics/yolov8_pridect_guanfang.py
Traceback (most recent call last):
  File "/home/diyun/work/python_project/24_0608_yolov8_SS928/ultralytics/ultralytics/trackers/utils/matching.py", line 10, in <module>
    import lap  # for linear_assignment
  File "/home/diyun/anaconda3/envs/pytorch_gpu/lib/python3.8/site-packages/lap/__init__.py", line 16, in <module>
    from ._lapjv import (
  File "_lapjv_src/_lapjv.pyx", line 1, in init _lapjv
ImportError: numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()' after cimporting numpy; use '<void>numpy._import_array' to disable if you are certain you don't need it).

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/diyun/work/python_project/24_0608_yolov8_SS928/ultralytics/yolov8_pridect_guanfang.py", line 6, in <module>
    results = model.track("./input/20240608-212555.mp4", show=True, tracker="bytetrack.yaml")  # with ByteTrack
  File "/home/diyun/work/python_project/24_0608_yolov8_SS928/ultralytics/ultralytics/engine/model.py", line 487, in track
    from ultralytics.trackers import register_tracker
  File "/home/diyun/work/python_project/24_0608_yolov8_SS928/ultralytics/ultralytics/trackers/__init__.py", line 3, in <module>
    from .bot_sort import BOTSORT
  File "/home/diyun/work/python_project/24_0608_yolov8_SS928/ultralytics/ultralytics/trackers/bot_sort.py", line 8, in <module>
    from .byte_tracker import BYTETracker, STrack
  File "/home/diyun/work/python_project/24_0608_yolov8_SS928/ultralytics/ultralytics/trackers/byte_tracker.py", line 8, in <module>
    from .utils import matching
  File "/home/diyun/work/python_project/24_0608_yolov8_SS928/ultralytics/ultralytics/trackers/utils/matching.py", line 17, in <module>
    import lap
  File "/home/diyun/anaconda3/envs/pytorch_gpu/lib/python3.8/site-packages/lap/__init__.py", line 16, in <module>
    from ._lapjv import (
  File "_lapjv_src/_lapjv.pyx", line 1, in init _lapjv
ImportError: numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()' after cimporting numpy; use '<void>numpy._import_array' to disable if you are certain you don't need it).

Process finished with exit code 1

原因分析

numpy版本不匹配

解决办法

pip uninstall numpy
conda uninstall numpy
pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple