Search code examples
pythonamazon-web-servicesaws-cloudformationstatic-analysisaws-cdk

Checkov error: AttributeError: type object 'Lark' has no attribute '_load_from_dict


I'm having some issues running checkov, I'm not familiar with python libraries, anyone can give me some hints?

This is working fine in some machines but not in this one in particular...

Running in CentOS:

$ checkov --directory cdk.out

Traceback (most recent call last):
  File "/usr/local/bin/checkov", line 2, in <module>
    from checkov.main import run
  File "/usr/local/lib/python3.6/site-packages/checkov/main.py", line 22, in <module>
    from checkov.terraform.plan_runner import Runner as tf_plan_runner
  File "/usr/local/lib/python3.6/site-packages/checkov/terraform/plan_runner.py", line 11, in <module>
    from checkov.terraform.context_parsers.registry import parser_registry
  File "/usr/local/lib/python3.6/site-packages/checkov/terraform/context_parsers/__init__.py", line 1, in <module>
    from checkov.terraform.context_parsers.parsers import *
  File "/usr/local/lib/python3.6/site-packages/checkov/terraform/context_parsers/parsers/provider_context_parser.py", line 1, in <module>
    import hcl2
  File "/usr/local/lib/python3.6/site-packages/hcl2/__init__.py", line 5, in <module>
    from .api import load, loads
  File "/usr/local/lib/python3.6/site-packages/hcl2/api.py", line 4, in <module>
    from hcl2.parser import hcl2
  File "/usr/local/lib/python3.6/site-packages/hcl2/parser.py", line 53, in <module>
    hcl2 = Lark_StandAlone(transformer=DictTransformer())
  File "/usr/local/lib/python3.6/site-packages/hcl2/lark_parser.py", line 8, in Lark_StandAlone
    return Lark._load_from_dict(DATA, MEMO, **kwargs)
AttributeError: type object 'Lark' has no attribute '_load_from_dict'

Solution

  • After upgrading python from 3.6 to 3.8 and reinstalling checkov it worked just fine.