Skip to content

Unable to install Checkov with Python Poetry | Invalid marker for 'python_full_version': > 3.14rc1.0 #7356

@andresionek91

Description

@andresionek91

Describe the issue
I expect checkov to be installed when running poetry add checkov.

Exception Trace

Create a clean environment with Poetry, then run:

> poetry add checkov --verbose
Using virtualenv: /Users/sionek/catena/catena-platform/.venv
Checking keyring availability: Available
Using version ^3.2.487 for checkov

Updating dependencies
Resolving dependencies... (5.0s)

  OverrideNeededError

  ({Package('pycares', '4.11.0'): {'cffi': <Dependency cffi (>=1.5.0)>}}, {Package('pycares', '4.11.0'): {'cffi': <Dependency cffi (>=2.0.0b1)>}})

  at ~/Library/Application Support/pypoetry/venv/lib/python3.12/site-packages/poetry/puzzle/provider.py:703 in complete_package
       699│                 package_overrides.update({dep.name: dep})
       700│                 current_overrides.update({package: package_overrides})
       701│                 overrides.append(current_overrides)
       702│ 
    →  703│             raise OverrideNeededError(*overrides)
       704│ 
       705│         # Modifying dependencies as needed
       706│         clean_dependencies = []
       707│         for dep in dependencies:

The following error occurred when trying to handle this error:


  ParseConstraintError

  Could not parse version constraint: > 3.14rc1.0

  at ~/Library/Application Support/pypoetry/venv/lib/python3.12/site-packages/poetry/core/constraints/version/parser.py:226 in parse_single_constraint
      222│         if op == "!=":
      223│             return VersionUnion(VersionRange(max=version), VersionRange(min=version))
      224│         return version
      225│ 
    → 226│     raise ParseConstraintError(f"Could not parse version constraint: {constraint}")
      227│ 
      228│ 
      229│ def _make_x_constraint_range(
      230│     version: Version, *, invert: bool = False, is_marker_constraint: bool = False

The following error occurred when trying to handle this error:


  InvalidMarkerError

  Invalid marker for 'python_full_version': > 3.14rc1.0

  at ~/Library/Application Support/pypoetry/venv/lib/python3.12/site-packages/poetry/core/version/markers.py:436 in __init__
       432│ 
       433│         try:
       434│             parsed_constraint = parser(constraint_string)
       435│         except ParseConstraintError as e:
    →  436│             raise InvalidMarkerError(
       437│                 f"Invalid marker for '{name}': {original_constraint_string}"
       438│             ) from e
       439│ 
       440│         super().__init__(name, parsed_constraint)

Additional context
Pinning to an older version doesn't solve the issue.

> python --version
Python 3.12.7
> poetry --version
Poetry (version 2.2.1)

pyproject.toml

[project]
name = "poetry"
version = "0.1.0"
description = ""
readme = "README.md"

[tool.poetry.dependencies]
python = "^3.12"
checkov = "^3.2.300" 

[build-system]
requires = ["poetry-core>=2.0.0,<3.0.0"]
build-backend = "poetry.core.masonry.api"

Step by step to reproduce:

mkdir poetry-checkov
cd poetry-checkov
poetry init
poetry install checkov

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions