Skip to content
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

Pylint wrapper silent failure #292

Closed
russellbrooks opened this issue Aug 17, 2020 · 1 comment
Closed

Pylint wrapper silent failure #292

russellbrooks opened this issue Aug 17, 2020 · 1 comment
Assignees

Comments

@russellbrooks
Copy link
Contributor

The pylint wrapper seems to swallow errors when tanking the CLI. In particular, I'd been playing around with isort 5 that'll be supported in newer pylint versions, but also works with previous versions that metaflow supports like pylint 2.4.4

metaflow 2.2.0
pylint 2.4.4
isort 5.4.2

Reproducing from tutorials:

$ python helloworld.py run
Metaflow 2.2.0 executing HelloFlow for user:russell
Validating your flow...
    The graph looks good!
Running pylint...

Running pylint separately shows this error is occurring:

$ pylint helloworld.py
************* Module helloworld
helloworld.py:1:0: C0114: Missing module docstring (missing-module-docstring)
helloworld.py:31:4: R0201: Method could be a function (no-self-use)
Traceback (most recent call last):
  File "/opt/conda/bin/pylint", line 8, in <module>
    sys.exit(run_pylint())
  File "/opt/conda/lib/python3.7/site-packages/pylint/__init__.py", line 23, in run_pylint
    PylintRun(sys.argv[1:])
  File "/opt/conda/lib/python3.7/site-packages/pylint/lint.py", line 1731, in __init__
    linter.check(args)
  File "/opt/conda/lib/python3.7/site-packages/pylint/lint.py", line 1004, in check
    self._do_check(files_or_modules)
  File "/opt/conda/lib/python3.7/site-packages/pylint/lint.py", line 1165, in _do_check
    self.check_astroid_module(ast_node, walker, rawcheckers, tokencheckers)
  File "/opt/conda/lib/python3.7/site-packages/pylint/lint.py", line 1252, in check_astroid_module
    walker.walk(ast_node)
  File "/opt/conda/lib/python3.7/site-packages/pylint/utils/ast_walker.py", line 79, in walk
    callback(astroid)
  File "/opt/conda/lib/python3.7/site-packages/pylint/checkers/imports.py", line 541, in leave_module
    std_imports, ext_imports, loc_imports = self._check_imports_order(node)
  File "/opt/conda/lib/python3.7/site-packages/pylint/checkers/imports.py", line 703, in _check_imports_order
    isort_obj = isort.SortImports(
AttributeError: module 'isort' has no attribute 'SortImports'

Everything works as expected when skipping pylint:

$ python helloworld.py --no-pylint run
Metaflow 2.2.0 executing HelloFlow for user:russell
Validating your flow...
    The graph looks good!
2020-08-17 23:16:58.156 Workflow starting (run-id 19441):
2020-08-17 23:16:58.999 [19441/start/190220 (pid 277)] Task is starting.
2020-08-17 23:17:02.085 [19441/start/190220 (pid 277)] HelloFlow is starting.
2020-08-17 23:17:03.561 [19441/start/190220 (pid 277)] Task finished successfully.
2020-08-17 23:17:04.582 [19441/hello/190221 (pid 310)] Task is starting.
2020-08-17 23:17:07.790 [19441/hello/190221 (pid 310)] Metaflow says: Hi!
2020-08-17 23:17:09.357 [19441/hello/190221 (pid 310)] Task finished successfully.
2020-08-17 23:17:10.387 [19441/end/190222 (pid 345)] Task is starting.
2020-08-17 23:17:13.469 [19441/end/190222 (pid 345)] HelloFlow is all done.
2020-08-17 23:17:15.021 [19441/end/190222 (pid 345)] Task finished successfully.
2020-08-17 23:17:15.265 Done!

Nothing urgent here, but it'd be nice to surface the error from pylint.

@savingoyal
Copy link
Collaborator

looks like #294 addressed this issue

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

3 participants