python-3.x - 在 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
因此该命令正确执行,然后遇到错误。正如您在第三行中看到的 - 该命令是相同的。
有任何想法吗?
解决方案
因为flake8
在您的代码中检测到错误它退出非零
当 tox 检测到一个退出非零的命令时,它会显示一个InvocationError
一切都按预期工作:)
免责声明:我是当前的 flake8 维护者和 tox 核心开发人员
推荐阅读
- reactjs - 如何在 React 组件上添加滚动事件而不是在窗口对象上添加?
- anylogic - 资源被使用后如何销毁
- r - 在 R 中,当名称是字符向量的值时,如何按名称指示参数?
- ios - iTunes API - JSON 数组错误 Swift4,请求。在集合视图中显示为数组
- javascript - 随机名称生成器 - [作品]
- php - Wordpress > 具有自定义分类的自定义帖子类型 > 未链接到自定义存档页面的术语
- angular - 在 Angular 模板中有条件地渲染逗号
- angular - Angular 7 应用程序在 IE 11 中无法正常工作
- angular - 如何在 Azure 部署上通过刷新解决 Angular 路由问题
- variables - 在机器人框架中的特定列表索引处赋值