编程语言
首页 > 编程语言> > python – vscode autopep8允许在导入之前的语句

python – vscode autopep8允许在导入之前的语句

作者:互联网

我正在使用带有python插件的vscode和带有的autopep8

“editor.formatOnSave”:是的.

我有我需要导入的本地包,所以我有类似的东西

import sys
sys.path.insert(0, '/path/to/packages')
import localpackage

但是当我保存时,vscode / autopep8会在代码之前移动所有import语句,因此python无法找到我的本地包.

import sys
import localpackage
sys.path.insert(0, '/path/to/packages')

我如何告诉vscode / autopep8可以在导入之前放置一个语句,还是有更正确的导入本地包的方法?

作为一种解决方法,如果您导入if语句,它看起来很好

import sys

sys.path.insert(0, '/path/to/packages')
if 'localpackage' not in sys.modules:
    import localpackage

解决方法:

>打开设置
>搜索autopep8.您应该看到以下结果:

enter image description here

>单击第一个选项下的“在settings.json中编辑”
>将以下参数添加到用户设置json:

“python.formatting.autopep8Args”:[“ – ignore”,“E402”]

enter image description here

这告诉autopep8忽略错误402,即:“模块级导入不在文件顶部”(这里是pep8中的list of errors)

您可以使用相同的方法更改任何autopep8设置.例如,如果您只想修复缩进,可以使用“python.formatting.autopep8Args”:[“ – select”,“E1”]

autopep8 readme提供了有关可用选项的更多信息.

标签:python,visual-studio-code,vscode-settings,autopep8
来源: https://codeday.me/bug/20190622/1261384.html