我正在使用带有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.您应该看到以下结果:
>单击第一个选项下的“在settings.json中编辑”
>将以下参数添加到用户设置json:
“python.formatting.autopep8Args”:[“ – ignore”,“E402”]
这告诉autopep8忽略错误402,即:“模块级导入不在文件顶部”(这里是pep8中的list of errors)
您可以使用相同的方法更改任何autopep8设置.例如,如果您只想修复缩进,可以使用“python.formatting.autopep8Args”:[“ – select”,“E1”]
autopep8 readme提供了有关可用选项的更多信息.