【发布时间】:2017-02-05 22:31:50
【问题描述】:
PEP8 建议:
进口应按以下顺序分组:
- 标准库导入
- 相关的第三方进口
- 本地应用程序/库特定导入
您应该在每组导入之间放置一个空行。
我正在使用 Flake8Lint 用于 lint Python 文件的 Sublime Text 插件。
我的代码如下:
import logging
import re
import time
import urllib
import urlparse
from flask import Blueprint
from flask import redirect
from flask import request
from flask.ext.login import current_user
from flask.ext.login import login_required
from my_application import one_module
它会显示如下警告:
import statements are in the wrong order, from my_application should be before from from flask.ext.login
但是flask 是第三方库,它应该在我的my_application 导入之前。这就是为什么?如何解决?
【问题讨论】:
-
我想这是因为“库特定的导入” - 可能 Flake8Link 理解 flask.ext.login 是特定于库的。我会说 - 忽略 flake8 错误。
-
根据Flake8Lint,除非您指定,否则导入订单检查将关闭。此外,它使用flake8-import-order,让您告诉它您的应用程序名称是什么,以便它知道什么是本地导入。
-
归根结底,真的没关系。只要您的导入以一种合理的方式对您和在您之后阅读您的代码的人进行分组,就不必担心自动检查器是否认为模块 a 应该在之前或之后导入模块 b.
标签: python sublimetext3 flake8