Jupyter docker space can't use cv2

It’s confusing that such simple code can’t run!

# pip install opencv-python ultralytics 
from ultralytics import YOLO

# Load a pretrained YOLO11n model
model = YOLO("yolo11n.pt")

# Run inference on 'bus.jpg' with arguments
model.predict("https://ultralytics.com/images/bus.jpg", save=True, imgsz=320, conf=0.5)
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
Cell In[11], line 1
----> 1 from ultralytics import YOLO
      3 # Load a pretrained YOLO11n model
      4 model = YOLO("yolo11n.pt")

File ~/miniconda/lib/python3.9/site-packages/ultralytics/__init__.py:11
      8 if not os.environ.get("OMP_NUM_THREADS"):
      9     os.environ["OMP_NUM_THREADS"] = "1"  # default for reduced CPU utilization during training
---> 11 from ultralytics.models import NAS, RTDETR, SAM, YOLO, YOLOE, FastSAM, YOLOWorld
     12 from ultralytics.utils import ASSETS, SETTINGS
     13 from ultralytics.utils.checks import check_yolo as checks

File ~/miniconda/lib/python3.9/site-packages/ultralytics/models/__init__.py:3
      1 # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
----> 3 from .fastsam import FastSAM
      4 from .nas import NAS
      5 from .rtdetr import RTDETR

File ~/miniconda/lib/python3.9/site-packages/ultralytics/models/fastsam/__init__.py:3
      1 # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
----> 3 from .model import FastSAM
      4 from .predict import FastSAMPredictor
      5 from .val import FastSAMValidator

File ~/miniconda/lib/python3.9/site-packages/ultralytics/models/fastsam/model.py:6
      3 from pathlib import Path
      4 from typing import Any, Dict, List, Optional
----> 6 from ultralytics.engine.model import Model
      8 from .predict import FastSAMPredictor
      9 from .val import FastSAMValidator

File ~/miniconda/lib/python3.9/site-packages/ultralytics/engine/model.py:11
      8 import torch
      9 from PIL import Image
---> 11 from ultralytics.cfg import TASK2DATA, get_cfg, get_save_dir
     12 from ultralytics.engine.results import Results
     13 from ultralytics.nn.tasks import attempt_load_one_weight, guess_model_task, yaml_model_load

File ~/miniconda/lib/python3.9/site-packages/ultralytics/cfg/__init__.py:11
      8 from typing import Any, Dict, List, Union
     10 from ultralytics import __version__
---> 11 from ultralytics.utils import (
     12     ASSETS,
     13     DEFAULT_CFG,
     14     DEFAULT_CFG_DICT,
     15     DEFAULT_CFG_PATH,
     16     IS_VSCODE,
     17     LOGGER,
     18     RANK,
     19     ROOT,
     20     RUNS_DIR,
     21     SETTINGS,
     22     SETTINGS_FILE,
     23     TESTS_RUNNING,
     24     YAML,
     25     IterableSimpleNamespace,
     26     checks,
     27     colorstr,
     28     deprecation_warn,
     29     vscode_msg,
     30 )
     32 # Define valid solutions
     33 SOLUTION_MAP = {
     34     "count": "ObjectCounter",
     35     "crop": "ObjectCropper",
   (...)
     46     "help": None,
     47 }

File ~/miniconda/lib/python3.9/site-packages/ultralytics/utils/__init__.py:22
     19 from typing import Union
     20 from urllib.parse import unquote
---> 22 import cv2
     23 import numpy as np
     24 import torch

ImportError: libGL.so.1: cannot open shared object file: No such file or directory
1 Like

How about like this?

!pip install opencv-python
from ultralytics import YOLO

# Load a pretrained YOLO11n model
model = YOLO("yolo11n.pt")

# Run inference on 'bus.jpg' with arguments
model.predict("https://ultralytics.com/images/bus.jpg", save=True, imgsz=320, conf=0.5)

I have done this

1 Like

Hmm… Try adding opencv-python to requirements.txt and python3-opencv to packages.txt.