如何为Sublime的不同项目配置不同的flake8版本?
解决按项目指定Flake8Lint插件的flake8二进制路径问题
别担心,你没遗漏关键配置文件——其实.flake8和setup.cfg是flake8本身的规则配置文件,不负责指定执行路径,而.sublimelinterrc是给SublimeLinter生态的插件用的,和你用的Flake8Lint插件不兼容。下面是两种靠谱的按项目配置的方法:
方法1:用Sublime项目文件(推荐)
这是最直接的按项目隔离配置的方式:
- 打开你的项目,点击顶部菜单
Project > Save Project As...,把项目保存为.sublime-project文件(放在项目根目录即可) - 编辑这个文件,在
settings节点里添加Flake8Lint的可执行文件路径配置,示例如下:
{ "folders": [ { "path": "." } ], "settings": { "flake8lint_executable": "/path/to/your/python3.6/env/bin/flake8" } }
把/path/to/your/python3.6/env/bin/flake8替换成你实际的路径——比如如果用了虚拟环境,就是项目根目录下的./venv/bin/flake8;如果是系统级Python3.6的flake8,就是/usr/bin/flake8-3.6这类具体路径。
保存后,Sublime会自动读取这个项目配置,用指定的flake8来检查当前项目代码,不会再用默认的Python2.7版本了。
方法2:全局配置按项目覆盖(适合多项目复用规则)
如果你不想每个项目都写一遍路径,也可以先在全局配置里设置默认路径,再通过项目文件覆盖:
- 打开
Preferences > Package Settings > Flake8Lint > Settings - User,设置全局默认的flake8路径(可选) - 再按方法1的步骤,在项目的
.sublime-project文件里添加flake8lint_executable配置,它会自动覆盖全局设置。
另外要注意:Flake8Lint插件的专属配置项就是flake8lint_executable,别和SublimeLinter的插件配置搞混了——后者的配置项是嵌套在linters.flake8下的executable,但你用的是独立的Flake8Lint,所以要用前者的配置项。
内容的提问来源于stack exchange,提问作者vartec
相关产品推荐
相关产品推荐

