Skip to content

ImportError: cannot import name 'UnknownMessageError' #246

@michaelsstuff

Description

@michaelsstuff

I get an error in my CI when running pylint with the pylint_django addon.
Happens also from a fresh setup.

ImportError: cannot import name 'UnknownMessage'

pip freeze:

astroid==2.3.0
Django==2.2.5
isort==4.3.21
lazy-object-proxy==1.4.2
mccabe==0.6.1
pylint==2.4.1
pylint-django==2.0.11
pylint-plugin-utils==0.5
pytz==2019.2
six==1.12.0
sqlparse==0.3.0
typed-ast==1.4.0
wrapt==1.11.2

How to reproduce:

docker run -it python:3.6 /bin/bash
pip install pylint pylint-django django
django-admin startproject testprj
cd testprj
pylint --load-plugins pylint_django testprj

Result:

root@13d125895230:/testprj# pylint --load-plugins pylint_django testprj
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/pylint_plugin_utils/__init__.py", line 3, in <module>
    from pylint.utils import UnknownMessage
ImportError: cannot import name 'UnknownMessage'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/pylint", line 10, in <module>
    sys.exit(run_pylint())
  File "/usr/local/lib/python3.6/site-packages/pylint/__init__.py", line 20, in run_pylint
    Run(sys.argv[1:])
  File "/usr/local/lib/python3.6/site-packages/pylint/lint.py", line 1639, in __init__
    linter.load_plugin_modules(self._plugins)
  File "/usr/local/lib/python3.6/site-packages/pylint/lint.py", line 660, in load_plugin_modules
    module = modutils.load_module_from_name(modname)
  File "/usr/local/lib/python3.6/site-packages/astroid/modutils.py", line 198, in load_module_from_name
    return load_module_from_modpath(dotted_name.split("."), path, use_sys)
  File "/usr/local/lib/python3.6/site-packages/astroid/modutils.py", line 241, in load_module_from_modpath
    module = imp.load_module(curname, mp_file, mp_filename, mp_desc)
  File "/usr/local/lib/python3.6/imp.py", line 245, in load_module
    return load_package(name, filename)
  File "/usr/local/lib/python3.6/imp.py", line 217, in load_package
    return _load(spec)
  File "<frozen importlib._bootstrap>", line 684, in _load
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/usr/local/lib/python3.6/site-packages/pylint_django/__init__.py", line 6, in <module>
    from pylint_django import plugin
  File "/usr/local/lib/python3.6/site-packages/pylint_django/plugin.py", line 3, in <module>
    from pylint_plugin_utils import get_checker
  File "/usr/local/lib/python3.6/site-packages/pylint_plugin_utils/__init__.py", line 5, in <module>
    from pylint.utils import UnknownMessageError as UnknownMessage
ImportError: cannot import name 'UnknownMessageError'

Running pylint without the plugin works:

root@13d125895230:/testprj# pylint  testprj
************* Module testprj.urls
testprj/urls.py:19:0: C0103: Constant name "urlpatterns" doesn't conform to UPPER_CASE naming style (invalid-name)
************* Module testprj.wsgi
testprj/wsgi.py:16:0: C0103: Constant name "application" doesn't conform to UPPER_CASE naming style (invalid-name)

------------------------------------------------------------------
Your code has been rated at 9.20/10 (previous run: 9.20/10, +0.00)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions