huggingface/transformers · error · ValueError
can't find {pkg} in {deps.keys()}, check dependency_versions
Error message
can't find {pkg} in {deps.keys()}, check dependency_versions_table.py What it means
On import/usage, transformers validates versions of packages listed in dependency_versions_table.py. require_version_core looks up each package name in that table; a name not present means the internal deps dict has no entry for it, so the check cannot construct a version constraint and raises. This is almost always triggered by code registering a new dependency without adding it to dependency_versions_table.py, or by passing an incorrect package name.
Source
Thrown at src/transformers/dependency_versions_check.py:58
if pkg in deps:
if pkg == "tokenizers":
# must be loaded here, or else tqdm check may fail
from .utils import is_tokenizers_available
if not is_tokenizers_available():
continue # not required, check version only if installed
elif pkg == "accelerate":
# must be loaded here, or else tqdm check may fail
from .utils import is_accelerate_available
# Maybe switch to is_torch_available in the future here so that Accelerate is hard dep of
# Transformers with PyTorch
if not is_accelerate_available():
continue # not required, check version only if installed
require_version_core(deps[pkg])
else:
raise ValueError(f"can't find {pkg} in {deps.keys()}, check dependency_versions_table.py")
def dep_version_check(pkg, hint=None):
require_version(deps[pkg], hint)
View on GitHub (pinned to a597f97485)
Solutions
- Add the package to src/transformers/dependency_versions_table.py (e.g. 'mypkg': '>=1.0.0') so the check can find a constraint.
- If the package should not be checked, remove/adjust the call site instead of leaving an unregistered name.
- Verify spelling/casing of the package name matches the table key exactly.
Example fix
# before (dependency_versions_check.py)
require_version_core("newdep") # ValueError: not in table
# after: register in dependency_versions_table.py
deps = {
...
"newdep": ">=0.2.0",
}
# then require_version_core("newdep") succeeds Defensive patterns
Strategy: validation
Validate before calling
from transformers.dependency_versions_table import deps
if pkg not in deps:
raise ValueError(f"{pkg} missing from dependency_versions_table.py; add an entry before checking its version") Prevention
- Register every new dependency in dependency_versions_table.py in the same PR.
- Use exact key names; the lookup is case-sensitive.
- Run a quick import smoke test in CI to catch missing-table errors early.
When it happens
Trigger: Calling require_version_core('some_pkg') / dep_version_check('some_pkg') for a package absent from dependency_versions_table.py; adding a new optional import to the library and wiring the version check but forgetting the table entry; renaming a package in the check but not the table.
Common situations: Contributors adding a dependency in a PR; downstream forks that extend the version-check machinery; typos in package names in custom check calls.
Related errors
- db_range must be greater than zero
- Stage_names must be set for transformers backbones
- out_features must be a list got {type(self._out_features)}
- out_features must be a subset of stage_names: {self.stage_na
- out_features must not contain any duplicates, got {self._out
AI-assisted analysis of huggingface/transformers@a597f97485 (2026-08-14).
Data as JSON: /api/errors/e8776d5236c373b7.
Report an issue: GitHub.