Skip to content

MyPy crashes when __init__.py file contains from . import * #4224

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
ostrokach opened this issue Nov 8, 2017 · 1 comment
Closed

MyPy crashes when __init__.py file contains from . import * #4224

ostrokach opened this issue Nov 8, 2017 · 1 comment

Comments

@ostrokach
Copy link

ostrokach commented Nov 8, 2017

Minimal example:

mkdir example
echo "from . import *" > example/__init__.py
python -m mypy example/__init__.py
Traceback
username@username-desktop /tmp $ python -m mypy test_module/__init__.py --show-traceback
test_module/__init__.py: error: INTERNAL ERROR -- please report a bug at https://github.com/python/mypy/issues version: 0.540
Traceback (most recent call last):
  File "/home/username/anaconda/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/username/anaconda/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/username/anaconda/lib/python3.6/site-packages/mypy/__main__.py", line 11, in 
    main(None)
  File "/home/username/anaconda/lib/python3.6/site-packages/mypy/main.py", line 50, in main
    res = type_check_only(sources, bin_dir, options)
  File "/home/username/anaconda/lib/python3.6/site-packages/mypy/main.py", line 103, in type_check_only
    options=options)
  File "/home/username/anaconda/lib/python3.6/site-packages/mypy/build.py", line 201, in build
    graph = dispatch(sources, manager)
  File "/home/username/anaconda/lib/python3.6/site-packages/mypy/build.py", line 1859, in dispatch
    graph = load_graph(sources, manager)
  File "/home/username/anaconda/lib/python3.6/site-packages/mypy/build.py", line 1942, in load_graph
    root_source=True)
  File "/home/username/anaconda/lib/python3.6/site-packages/mypy/build.py", line 1489, in __init__
    self.parse_file()
  File "/home/username/anaconda/lib/python3.6/site-packages/mypy/build.py", line 1687, in parse_file
    self.ignore_all or self.options.ignore_errors)
  File "/home/username/anaconda/lib/python3.6/contextlib.py", line 99, in __exit__
    self.gen.throw(type, value, traceback)
  File "/home/username/anaconda/lib/python3.6/site-packages/mypy/build.py", line 1578, in wrap_context
    yield
  File "/home/username/anaconda/lib/python3.6/site-packages/mypy/build.py", line 1687, in parse_file
    self.ignore_all or self.options.ignore_errors)
  File "/home/username/anaconda/lib/python3.6/site-packages/mypy/build.py", line 593, in parse_file
    tree = parse(source, path, self.errors, options=self.options)
  File "/home/username/anaconda/lib/python3.6/site-packages/mypy/parse.py", line 25, in parse
    options=options)
  File "/home/username/anaconda/lib/python3.6/site-packages/mypy/fastparse.py", line 96, in parse
    ).visit(ast)
  File "/home/username/anaconda/lib/python3.6/site-packages/mypy/fastparse.py", line 169, in visit
    return super().visit(node)
  File "/home/username/anaconda/lib/python3.6/site-packages/typed_ast/ast3.py", line 275, in visit
    return visitor(node)
  File "/home/username/anaconda/lib/python3.6/site-packages/mypy/fastparse.py", line 289, in visit_Module
    body = self.fix_function_overloads(self.translate_stmt_list(mod.body))
  File "/home/username/anaconda/lib/python3.6/site-packages/mypy/fastparse.py", line 182, in translate_stmt_list
    stmt = self.visit(e)
  File "/home/username/anaconda/lib/python3.6/site-packages/mypy/fastparse.py", line 169, in visit
    return super().visit(node)
  File "/home/username/anaconda/lib/python3.6/site-packages/typed_ast/ast3.py", line 275, in visit
    return visitor(node)
  File "/home/username/anaconda/lib/python3.6/site-packages/mypy/fastparse.py", line 126, in wrapper
    node = f(self, ast)
  File "/home/username/anaconda/lib/python3.6/site-packages/mypy/fastparse.py", line 654, in visit_ImportFrom
    assert n.module is not None
AssertionError:
test_module/__init__.py: : note: use --pdb to drop into pdb

mypy 0.540
Python 3.6.3
Linux Mint 18

@ostrokach
Copy link
Author

Closing as this is a duplicate of #4111

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant