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.您应该看到以下结果:

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

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

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

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

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

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

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

上一篇:PyCharm配置autopep8(自动格式化Python代码)


下一篇:pycharm使用