Mac系统下运行YOLO相关Python脚本失败求助
解决Mac下YOLO脚本导入cv2时缺失libtiff.5.dylib的问题
问题详情
在Mac系统中运行main.py脚本(基于ultralytics YOLO8构建模型并训练)时,出现ImportError,提示加载cv2时找不到依赖库libtiff.5.dylib,重装Python后问题仍存在。
脚本代码
from ultralytics import YOLO # Load Model model = YOLO("yolo8n.yaml") # Build New Model # Use model results = model.train(data="config.yaml", epochs=2) # train the model
错误信息
Traceback (most recent call last): File "main.py", line 1, in <module> from ultralytics import YOLO File "/opt/miniconda3/lib/python3.8/site-packages/ultralytics/__init__.py", line 5, in <module> from ultralytics.models import RTDETR, SAM, YOLO File "/opt/miniconda3/lib/python3.8/site-packages/ultralytics/models/__init__.py", line 3, in <module> from .rtdetr import RTDETR File "/opt/miniconda3/lib/python3.8/site-packages/ultralytics/models/rtdetr/__init__.py", line 3, in <module> from .model import RTDETR File "/opt/miniconda3/lib/python3.8/site-packages/ultralytics/models/rtdetr/model.py", line 10, in <module> from ultralytics.engine.model import Model File "/opt/miniconda3/lib/python3.8/site-packages/ultralytics/engine/model.py", line 8, in <module> from ultralytics.cfg import TASK2DATA, get_cfg, get_save_dir File "/opt/miniconda3/lib/python3.8/site-packages/ultralytics/cfg/__init__.py", line 10, in <module> from ultralytics.utils import (ASSETS, DEFAULT_CFG, DEFAULT_CFG_DICT, DEFAULT_CFG_PATH, LOGGER, RANK, ROOT, RUNS_DIR, File "/opt/miniconda3/lib/python3.8/site-packages/ultralytics/utils/__init__.py", line 18, in <module> import cv2 File "/opt/miniconda3/lib/python3.8/site-packages/cv2/__init__.py", line 181, in <module> bootstrap() File "/opt/miniconda3/lib/python3.8/site-packages/cv2/__init__.py", line 153, in bootstrap native_module = importlib.import_module("cv2") File "/opt/miniconda3/lib/python3.8/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) ImportError: dlopen(/opt/miniconda3/lib/python3.8/site-packages/cv2/python-3.8/cv2.cpython-38-darwin.so, 0x0002): Library not loaded: @rpath/libtiff.5.dylib Referenced from: <80BA7539-042B-39DF-A17F-478DE81ACD44> /opt/miniconda3/lib/libopencv_imgcodecs.4.6.0.dylib Reason: tried: '/private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_f6tvh9615u/croot/opencv-suite_1691620375715/work/build/lib/libtiff.5.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_f6tvh9615u/croot/opencv-suite_1691620375715/work/build/lib/libtiff.5.dylib' (no such file), '/opt/miniconda3/lib/libtiff.5.dylib' (no such file), '/private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_f6tvh9615u/croot/opencv-suite_1691620375715/work/build/lib/libtiff.5.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_f6tvh9615u/croot/opencv-suite_1691620375715/work/build/lib/libtiff.5.dylib' (no such file), '/opt/miniconda3/lib/libtiff.5.dylib' (no such file), '/private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_f6tvh9615u/croot/opencv-suite_1691620375715/work/build/lib/libtiff.5.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_f6tvh9615u/croot/opencv-suite_1691620375715/work/build/lib/libtiff.5.dylib' (no such file), '/opt/miniconda3/lib/python3.8/site-packages/cv2/python-3.8/../../../../libtiff.5.dylib' (no such file), '/private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_f6tvh9615u/croot/opencv-suite_1691620375715/work/build/lib/libtiff.5.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_f6tvh9615u/croot/opencv-suite_1691620375715/work/build/lib/libtiff.5.dylib' (no such file), '/opt/miniconda3/lib/python3.8/site-packages/cv2/python-3.8/../../../../libtiff.5.dylib' (no such file), '/opt/miniconda3/lib/libtiff.5.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/miniconda3/lib/libtiff.5.dylib' (no such file), '/opt/miniconda3/bin/../lib/libtiff.5.dylib' (no such file), '/opt/miniconda3/lib/libtiff.5.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/miniconda3/lib/libtiff.5.dylib' (no such file), '/opt/miniconda3/bin/../lib/libtiff.5.dylib' (no such file), '/usr/local/lib/libtiff.5.dylib' (no such file), '/usr/lib/libtiff.5.dylib' (no such file, not in dyld cache)
解决方案
1. 直接在conda环境中安装libtiff
你的环境基于miniconda,直接用conda安装缺失的依赖库:
conda activate 你的环境名 # 若使用base环境可跳过此步 conda install -c conda-forge libtiff=5.x
指定版本为5.x,匹配错误中要求的libtiff.5.dylib。
2. 重装opencv(用conda安装而非pip)
若安装libtiff后问题仍存在,建议用conda重装opencv,确保所有依赖版本匹配:
pip uninstall opencv-python opencv-python-headless conda install -c conda-forge opencv
3. 创建全新conda环境(终极方案)
如果以上方法均无效,创建新的conda环境重新安装所有依赖:
conda create -n yolo_env python=3.9 conda activate yolo_env pip install ultralytics # 训练时若需其他依赖,按需安装即可
内容的提问来源于stack exchange,提问作者InspiredGhost
相关产品推荐
相关产品推荐

