facebookresearch / facebookresearch/sam2

ValueError: failed to parse CPython sys.version: 3.13.2

Open
#649 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Jupyter Notebook
Stars
19.9k
Forks
2.5k
PR merge metrics
No merged PRs in 30d

Description

I would like to report an issue which is probably not related to sam2 itself, but from dependencies ( Hydra or OmegaConf ).
In the documentation ( repo homepage ) its noted that sam2 works with python>=3.10
However, installing python 3.13 throws the following error :

```python
from sam2.build_sam import build_sam2_video_predictor
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
Cell In[12], line 1
----> 1 from sam2.build_sam import build_sam2_video_predictor

File ~\sam2\sam2\build_sam.py:11
8 import os
10 import torch
---> 11 from hydra import compose
12 from hydra.utils import instantiate
13 from omegaconf import OmegaConf

File ~\AppData\Local\miniconda3\envs\env_19\Lib\site-packages\hydra\__init__.py:5
1 # Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved
2
3 # Source of truth for Hydra's version
4 __version__ = "1.3.2"
----> 5 from hydra import utils
6 from hydra.errors import MissingConfigException
7 from hydra.main import main

File ~\AppData\Local\miniconda3\envs\env_19\Lib\site-packages\hydra\utils.py:8
5 from pathlib import Path
6 from typing import Any, Callable
----> 8 import hydra._internal.instantiate._instantiate2
9 import hydra.types
10 from hydra._internal.utils import _locate

File ~\AppData\Local\miniconda3\envs\env_19\Lib\site-packages\hydra\_internal\instantiate\_instantiate2.py:9
6 from textwrap import dedent
7 from typing import Any, Callable, Dict, List, Sequence, Tuple, Union
----> 9 from omegaconf import OmegaConf, SCMode
10 from omegaconf._utils import is_structured_config
12 from hydra._internal.utils import _locate

File ~\AppData\Local\miniconda3\envs\env_19\Lib\site-packages\omegaconf\__init__.py:1
----> 1 from .base import Container, DictKeyType, Node, SCMode, UnionNode
2 from .dictconfig import DictConfig
3 from .errors import (
4 KeyValidationError,
5 MissingMandatoryValue,
(...)
8 ValidationError,
9 )

File ~\AppData\Local\miniconda3\envs\env_19\Lib\site-packages\omegaconf\base.py:11
7 from typing import Any, Dict, Iterator, List, Optional, Set, Tuple, Type, Union
9 from antlr4 import ParserRuleContext
---> 11 from ._utils import (
12 _DEFAULT_MARKER_,
13 NoneType,
14 ValueKind,
15 _get_value,
16 _is_interpolation,
17 _is_missing_value,
18 _is_special,
19 format_and_raise,
20 get_value_kind,
21 is_union_annotation,
22 is_valid_value_annotation,
23 split_key,
24 type_str,
25 )
26 from .errors import (
27 ConfigKeyError,
28 ConfigTypeError,
(...)
35 ValidationError,
36 )
37 from .grammar.gen.OmegaConfGrammarParser import OmegaConfGrammarParser

File ~\AppData\Local\miniconda3\envs\env_19\Lib\site-packages\omegaconf\_utils.py:43
40 dataclasses = None # type: ignore # pragma: no cover
42 try:
---> 43 import attr
45 except ImportError: # pragma: no cover
46 attr = None # type: ignore # pragma: no cover

File ~\AppData\Local\miniconda3\envs\env_19\Lib\site-packages\attr\__init__.py:10
7 from functools import partial
8 from typing import Callable, Literal, Protocol
---> 10 from . import converters, exceptions, filters, setters, validators
11 from ._cmp import cmp_using
12 from ._config import get_run_validators, set_run_validators

File ~\AppData\Local\miniconda3\envs\env_19\Lib\site-packages\attr\converters.py:9
3 """
4 Commonly useful converters.
5 """
7 import typing
----> 9 from ._compat import _AnnotationExtractor
10 from ._make import NOTHING, Converter, Factory, pipe
13 __all__ = [
14 "default_if_none",
15 "optional",
16 "pipe",
17 "to_bool",
18 ]

File ~\AppData\Local\miniconda3\envs\env_19\Lib\site-packages\attr\_compat.py:12
8 from collections.abc import Mapping, Sequence # noqa: F401
9 from typing import _GenericAlias
---> 12 PYPY = platform.python_implementation() == "PyPy"
13 PY_3_9_PLUS = sys.version_info[:2] >= (3, 9)
14 PY_3_10_PLUS = sys.version_info[:2] >= (3, 10)

File ~\AppData\Local\miniconda3\envs\env_19\Lib\platform.py:1248, in python_implementation()
1244 def python_version():
1246 """ Returns the Python version as string 'major.minor.patchlevel'
1247
-> 1248 Note that unlike the Python sys.version, the returned value
1249 will always include the patchlevel (it defaults to 0).
1250
1251 """
1252 return _sys_version()[1]

File ~\AppData\Local\miniconda3\envs\env_19\Lib\platform.py:1208, in _sys_version(sys_version)
1205 version, buildno, builddate, buildtime, compiler = \
1206 match.groups()
1207 name = 'CPython'
-> 1208 if builddate is None:
1209 builddate = ''
1210 elif buildtime:

ValueError: failed to parse CPython sys.version: '3.13.2 | packaged by Anaconda, Inc. | (main, Feb 6 2025, 18:49:14) [MSC v.1929 64 bit (AMD64)]'

```

I switched to python=3.11.0 & it got resolved.
This is just as an experience for others.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.