{"record":{"id":"ee4dc49acc3a8260","repo":"open-mmlab/mmdetection","slug":"lap-is-not-installed-please-insta-ee4dc4","errorCode":null,"errorMessage":"lap is not installed,                 please install it by: pip install lap","messagePattern":"lap is not installed,                 please install it by: pip install lap","errorType":"error_code","errorClass":"RuntimeError","httpStatus":null,"severity":"error","filePath":"mmdet/models/trackers/ocsort_tracker.py","lineNumber":55,"sourceCode":"            association (OCM term in the paper).\n        vel_delta_t (int): The difference of time step for calculating of the\n            velocity direction of tracklets.\n        init_cfg (dict or list[dict], optional): Initialization config dict.\n            Defaults to None.\n    \"\"\"\n\n    def __init__(self,\n                 motion: Optional[dict] = None,\n                 obj_score_thr: float = 0.3,\n                 init_track_thr: float = 0.7,\n                 weight_iou_with_det_scores: bool = True,\n                 match_iou_thr: float = 0.3,\n                 num_tentatives: int = 3,\n                 vel_consist_weight: float = 0.2,\n                 vel_delta_t: int = 3,\n                 **kwargs):\n        if lap is None:\n            raise RuntimeError('lap is not installed,\\\n                 please install it by: pip install lap')\n        super().__init__(motion=motion, **kwargs)\n        self.obj_score_thr = obj_score_thr\n        self.init_track_thr = init_track_thr\n\n        self.weight_iou_with_det_scores = weight_iou_with_det_scores\n        self.match_iou_thr = match_iou_thr\n        self.vel_consist_weight = vel_consist_weight\n        self.vel_delta_t = vel_delta_t\n\n        self.num_tentatives = num_tentatives\n\n    @property\n    def unconfirmed_ids(self):\n        \"\"\"Unconfirmed ids in the tracker.\"\"\"\n        ids = [id for id, track in self.tracks.items() if track.tentative]\n        return ids\n","sourceCodeStart":37,"sourceCodeEnd":73,"githubUrl":"https://github.com/open-mmlab/mmdetection/blob/cfd5d3a985b0249de009b67d04f37263e11cdf3d/mmdet/models/trackers/ocsort_tracker.py#L37-L73","documentation":"OC-SORT tracker performs data association via the 'lap' linear-assignment package. If lap could not be imported, its constructor raises RuntimeError immediately.","triggerScenarios":"Instantiating OCSORTTracker (tracker=dict(type='OCSORTTracker')) without the optional lap dependency installed.","commonSituations":"Running OC-SORT MOT configs on a minimal install; lap missing or failed to compile during env setup.","solutions":["pip install lap","On build failures, use conda-forge or a prebuilt lap wheel","Confirm lap imports in the same env: python -c 'import lap'"],"exampleFix":"# before: RuntimeError: lap is not installed\n# after\npip install lap","handlingStrategy":"validation","validationCode":"import importlib.util\nassert importlib.util.find_spec('lap'), 'pip install lap'","typeGuard":null,"tryCatchPattern":"try:\n    tracker = OCSORTTracker(...)\nexcept RuntimeError as e:\n    if 'lap' in str(e):\n        raise SystemExit('Missing dependency: pip install lap')\n    raise","preventionTips":["Pre-install lap for all association-based trackers","Verify env with python -c 'import lap'"],"tags":["mmdetection","tracking","ocsort","missing-dependency","lap"],"backgroundTag":"missing-python-package","analyzedSha":"cfd5d3a985b0249de009b67d04f37263e11cdf3d","analyzedAt":"2026-08-27T20:54:20.183Z","schemaVersion":2},"datasetVersion":"2026-08-28T00:17:15.603Z"}