首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在vim中使用nvie/vim-flake8插件时,如何指定flake8配置文件?

在vim中使用nvie/vim-flake8插件时,如何指定flake8配置文件?
EN

Stack Overflow用户
提问于 2021-11-09 13:58:22
回答 1查看 969关注 0票数 0

系统信息

代码语言:javascript
运行
复制
$ cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core)

$ flake8 --version
4.0.1 (mccabe: 0.6.1, pycodestyle: 2.8.0, pyflakes: 2.4.0) CPython 3.7.1 on
Linux

Context/Background:

我在vim中使用flake8进行语法检查。要在我的vimrc中这样做,我有以下几点:

代码语言:javascript
运行
复制
Plugin 'Vundle/Vundle.vim'

Plugin 'nvie/vim-flake8'

[other plugins]

我使用以下方法安装了插件:

代码语言:javascript
运行
复制
:PluginInstall

而且,由于我没有将flake8安装到本地目录的标准安装路径的权限:

代码语言:javascript
运行
复制
pip install --target=/home/user/python/local-packages flake8

这一切似乎都很好--我可以在vim中打开python文件,按下并在下面的窗口中获得一个错误列表。

然而,我希望能够忽略一些错误(即,做相当于用--扩展--忽略调用flake8 ),并且很难让它工作起来。

最初,我认为我需要将以下内容添加到vim文件中:

代码语言:javascript
运行
复制
let g:flake8_ignore="W391"

但是,当我这样做时,会产生以下错误:

代码语言:javascript
运行
复制
Flake8 found issues
g:flake8_ignore has been deprecated in favour of flake8 config files
http://flake8.readthedocs.org/en/latest/config.html

flake8文档说,您可以在命令行上使用--扩展--忽略,这确实有效,但是尝试像我上面所做的那样在vim中使用它似乎不起作用,并且错误暗示当使用vim时,您需要使用片状配置文件。

但是,我无法使配置文件工作。flake8的配置文档声明:

在顶级flake8目录(包含文档、flake8和测试)中,还有tox.ini和setup.cfg文件。在我们的例子中,我们将Flake8配置保留在tox.ini中。

在我使用上面的pip命令(/home/user/python/ local -packages)安装flake8的本地区域,创建了flake8目录,这似乎是flake8文件所在的位置,但是没有测试、docs目录或tox.ini文件,所以我不完全确定‘顶层目录’在哪里。

当我在本地tox.ini目录中创建一个flake8时,如下所示:

代码语言:javascript
运行
复制
[flake8]
ignore = W391

然后在我的文件上运行flake8,我得到:

$ flake8 getsmemvalues.py getsmemvalues.py:412:1:文件末尾的W391空行

这样,配置文件就不会被拾取。然而,运行:

代码语言:javascript
运行
复制
$ flake8 --config=/home/user/python/local-packages/flake8/tox.ini getsmemvalues.py

给予:

代码语言:javascript
运行
复制
getsmemvalues.py:107:58: E226 missing whitespace around arithmetic operator

在这里,它似乎正在使用我的配置文件(没有报告W391错误),但是在以前没有报告的地方报告了E226,所以在正常情况下,它必须从某个地方获取默认的配置文件,但是我不知道在哪里(显然不是/home/user/python/local-packages/flake8)。

当我跑的时候

代码语言:javascript
运行
复制
$ flake8 --append-config=/home/user/python/local-packages/flake8/tox.ini getsmemvalues.py

我仍然会得到E226错误的报告:

代码语言:javascript
运行
复制
getsmemvalues.py:107:58: E226 missing whitespace around arithmetic operator**strong text**

因此,它看起来就像本地配置文件中的“忽略”语句完全覆盖默认配置文件中的任何忽略语句。

我的问题是:

  1. 有谁知道我怎样才能找到flake8从哪里获得默认配置文件?有命令可以用来列出它正在使用的配置文件吗?
  2. 有谁知道我如何告诉vim flake插件使用非默认配置文件(即指定等效的-- config =),我试过使用以下方法: 让g:flake8_config="/home/user/python/local-packages/flake8/tox.ini“ 但是,虽然我没有收到任何错误使用这一点,它似乎没有拿起那个配置文件。在.vim/bundle/vim-flake8/README.mdown中,它说:

1.6:通过Vim设置不推荐配置flake8选项。相反,建议用户使用~/.config/flake8配置文件。

但将此用作配置文件也不起作用。

  1. 配置文件中是否有一种方式可以附加到默认配置文件已经指定的忽略列表?
EN

回答 1

Stack Overflow用户

发布于 2021-11-09 14:15:05

来自配置flake8

Flake8支持将其配置存储在项目中的setup.cfg、tox.ini或.flake8之一中。

(强调我的)-把你的配置文件放在你的项目中,flake8会发现的。

免责声明:我现在是flake8的维护者

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69899479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档