首页 > 解决方案 > 在 tox.ini 中运行 flake8 时出现 InvocationError

问题描述


看起来我无法将相对路径或绝对路径传递到应该由 flake8 在 tox.ini 文件中检查的文件夹。

在 shell 中执行代码后:

flake8 tests/

结果正确:

tests/unit\test.py:17:91: E501 line too long (93 > 90 characters)

但是 tox 通过在命令提示符中键入来启动相同的命令:

tox

结果:

py38 installed: flake8==3.9.2,mccabe==0.6.1,pycodestyle==2.7.0,pyflakes==2.3.1
py38 run-test-pre: PYTHONHASHSEED='64'
py38 run-test: commands[0] | flake8 tests/
tests/unit\test.py:17:91: E501 line too long (93 > 90 characters)
ERROR: InvocationError for command 'C:\Users\48796\PycharmProjects\learningTests\.tox\py38\Scripts\flake8.EXE' tests/ (exited with code 1)
_______________________________________________________ summary _______________________________________________________
ERROR:   py38: commands failed

因此该命令正确执行,然后遇到错误。正如您在第三行中看到的 - 该命令是相同的。

有任何想法吗?

标签: python-3.xtoxflake8

解决方案


因为flake8在您的代码中检测到错误它退出非零

当 tox 检测到一个退​​出非零的命令时,它会显示一个InvocationError

一切都按预期工作:)


免责声明:我是当前的 flake8 维护者和 tox 核心开发人员


推荐阅读