Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

flake8 fails in tox testing environment

Below is the failure message on running tox. I don’t see this exact error reported on any forum.
Any guidance here would be of great help.

I’m invoking the tox in 3.8-slim-buster docker container & installed the required dependencies – pip install tox flake8 black pylint

Error:

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

 File ".tox/lint/lib/python3.6/site-packages/hacking/core.py", line 185
    except ImportError, exc:
                      ^
SyntaxError: invalid syntax

During handling of the above exception, another exception occurred:

.tox/lint/lib/python3.6/site-packages/flake8/plugins/manager.py", line 168, in load_plugin
    raise failed_to_load
flake8.exceptions.FailedToLoadPlugin: Flake8 failed to load plugin "H000" due to invalid syntax (core.py, line 185).

my tox.ini file.

  [tox]
    minversion = 1.8
    envlist =
        unit
        lint
        format-check
    skipsdist = true
    
    [testenv]
    usedevelop = true
    basepython = python3
    passenv = *
    setenv =
        COVERAGE_FILE={toxworkdir}/.coverage
        PIP_EXTRA_INDEX_URL=https://maven.com/artifactory/api/pypi/simple/
    extras =
        test
    
    [testenv:unit]
    commands =
        python -m pytest {posargs}
    
    [testenv:lint]
    commands =
        python -m flake8
    
    [testenv:format]
    commands =
        python -m black {toxinidir}
    
    [testenv:format-check]
    commands =
        python -m black --diff --check {toxinidir}
    
    [testenv:build-dists-local]
    usedevelop = false
    skip_install = true
    commands =
        python -m pep517.build \
          --source \
          --binary \
          --out-dir {toxinidir}/dist/ \
          {toxinidir}
    
    [testenv:build-dists]
    commands =
        rm -rfv {toxinidir}/dist/
        {[testenv:build-dists-local]commands}
    whitelist_externals =
        rm
    
    [testenv:publish-dists]
    commands =
        bash -c '\
          twine upload {toxinidir}/dist/*.whl \
            -u $TWINE_USERNAME \
            -p $TWINE_PASSWORD \
            --repository-url $TWINE_REPOSITORY \
        '
    whitelist_externals =
        bash
    
    [flake8]
    max-line-length = 100
    format = pylint
    exclude =
        .eggs/
        .tox/,
        .venv*,
        build/,
        dist/,
        doc/,
    #- [H106] Don't put vim configuration in source files.
    #- [H203] Use assertIs(Not)None to check for None.
    #- [H904] Delay string interpolations at logging calls.
    enable-extensions = H106,H203,H904
    ignore = E226,E302,E41
    
    [pytest]
    testpaths = test/
    addopts = -v -rxXs --doctest-modules --cov metarelease --cov-report term-missing --showlocals
    norecursedirs = dist doc build .tox .eggs
    
    [coverage:run]
    omit =
        metarelease/cmd/*
        metarelease/shell.py
    
    [coverage:report]
    fail_under =
        100

>Solution :

This is neither a flake8 nor a tox bug, but a bug in hacking, which you will notice when you have a close look at the traceback.

The syntax

 File ".tox/lint/lib/python3.6/site-packages/hacking/core.py", line 185
    except ImportError, exc:

is only valid in Python 2, but you use Python 3.

I never heard of the hacking project before, but using a search engine revealed https://pypi.org/project/hacking/

You should report a bug a their bug tracker.

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading