Skip to content

KeyError running mypy for a django project #1410

Closed
@caulagi

Description

@caulagi

I was trying to run latest mypy (cloned from github) on my test django project code but I get the following error -

$ mypy --use-python-path polls/views.py
Traceback (most recent call last):
  File "/Users/pcaulagi/.venv/dj-mypy/bin/mypy", line 6, in <module>
    main(__file__)
  File "/Users/pcaulagi/.venv/dj-mypy/lib/python3.5/site-packages/mypy/main.py", line 52, in main
    res = type_check_only(sources, bin_dir, options)
  File "/Users/pcaulagi/.venv/dj-mypy/lib/python3.5/site-packages/mypy/main.py", line 100, in type_check_only
    python_path=options.python_path)
  File "/Users/pcaulagi/.venv/dj-mypy/lib/python3.5/site-packages/mypy/build.py", line 208, in build
    dispatch(sources, manager)
  File "/Users/pcaulagi/.venv/dj-mypy/lib/python3.5/site-packages/mypy/build.py", line 1251, in dispatch
    process_graph(graph, manager)
  File "/Users/pcaulagi/.venv/dj-mypy/lib/python3.5/site-packages/mypy/build.py", line 1382, in process_graph
    process_stale_scc(graph, scc)
  File "/Users/pcaulagi/.venv/dj-mypy/lib/python3.5/site-packages/mypy/build.py", line 1412, in process_stale_scc
    graph[id].type_check()
  File "/Users/pcaulagi/.venv/dj-mypy/lib/python3.5/site-packages/mypy/build.py", line 1231, in type_check
    manager.type_checker.visit_file(self.tree, self.xpath)
  File "/Users/pcaulagi/.venv/dj-mypy/lib/python3.5/site-packages/mypy/checker.py", line 412, in visit_file
    self.accept(d)
  File "/Users/pcaulagi/.venv/dj-mypy/lib/python3.5/site-packages/mypy/checker.py", line 453, in accept
    typ = node.accept(self)
  File "/Users/pcaulagi/.venv/dj-mypy/lib/python3.5/site-packages/mypy/nodes.py", line 650, in accept
    return visitor.visit_class_def(self)
  File "/Users/pcaulagi/.venv/dj-mypy/lib/python3.5/site-packages/mypy/checker.py", line 1033, in visit_class_def
    self.check_multiple_inheritance(typ)
  File "/Users/pcaulagi/.venv/dj-mypy/lib/python3.5/site-packages/mypy/checker.py", line 1052, in check_multiple_inheritance
    self.check_compatibility(name, base, base2, typ)
  File "/Users/pcaulagi/.venv/dj-mypy/lib/python3.5/site-packages/mypy/checker.py", line 1073, in check_compatibility
    second = base2[name]
  File "/Users/pcaulagi/.venv/dj-mypy/lib/python3.5/site-packages/mypy/nodes.py", line 1793, in __getitem__
    raise KeyError(name)
KeyError: 'subwidgets'

The other thing confusing me is that I get different keyerrors if I run the same command again

$ mypy --use-python-path polls/views.py
Traceback (most recent call last):
  File "/Users/pcaulagi/.venv/dj-mypy/bin/mypy", line 6, in <module>
    main(__file__)
  File "/Users/pcaulagi/.venv/dj-mypy/lib/python3.5/site-packages/mypy/main.py", line 52, in main
    res = type_check_only(sources, bin_dir, options)
  File "/Users/pcaulagi/.venv/dj-mypy/lib/python3.5/site-packages/mypy/main.py", line 100, in type_check_only
    python_path=options.python_path)
  File "/Users/pcaulagi/.venv/dj-mypy/lib/python3.5/site-packages/mypy/build.py", line 208, in build
    dispatch(sources, manager)
  File "/Users/pcaulagi/.venv/dj-mypy/lib/python3.5/site-packages/mypy/build.py", line 1251, in dispatch
    process_graph(graph, manager)
  File "/Users/pcaulagi/.venv/dj-mypy/lib/python3.5/site-packages/mypy/build.py", line 1382, in process_graph
    process_stale_scc(graph, scc)
  File "/Users/pcaulagi/.venv/dj-mypy/lib/python3.5/site-packages/mypy/build.py", line 1412, in process_stale_scc
    graph[id].type_check()
  File "/Users/pcaulagi/.venv/dj-mypy/lib/python3.5/site-packages/mypy/build.py", line 1231, in type_check
    manager.type_checker.visit_file(self.tree, self.xpath)
  File "/Users/pcaulagi/.venv/dj-mypy/lib/python3.5/site-packages/mypy/checker.py", line 412, in visit_file
    self.accept(d)
  File "/Users/pcaulagi/.venv/dj-mypy/lib/python3.5/site-packages/mypy/checker.py", line 453, in accept
    typ = node.accept(self)
  File "/Users/pcaulagi/.venv/dj-mypy/lib/python3.5/site-packages/mypy/nodes.py", line 650, in accept
    return visitor.visit_class_def(self)
  File "/Users/pcaulagi/.venv/dj-mypy/lib/python3.5/site-packages/mypy/checker.py", line 1033, in visit_class_def
    self.check_multiple_inheritance(typ)
  File "/Users/pcaulagi/.venv/dj-mypy/lib/python3.5/site-packages/mypy/checker.py", line 1052, in check_multiple_inheritance
    self.check_compatibility(name, base, base2, typ)
  File "/Users/pcaulagi/.venv/dj-mypy/lib/python3.5/site-packages/mypy/checker.py", line 1073, in check_compatibility
    second = base2[name]
  File "/Users/pcaulagi/.venv/dj-mypy/lib/python3.5/site-packages/mypy/nodes.py", line 1793, in __getitem__
    raise KeyError(name)
KeyError: 'id_for_label'

What am I missing? I am using Django==1.9.5 and this is my polls/views - https://github.com/caulagi/django-mypy/blob/master/polls/views.py

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions