python - flake8:导入语句顺序错误

标签 python sublimetext3 flake8

PEP8建议:

Imports should be grouped in the following order:

  1. standard library imports
  2. related third party imports
  3. local application/library specific imports

You should put a blank line between each group of imports.


我正在使用Flake8Lint Sublime Text插件用于 Lint Python文件。
我的代码如下:
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导入之前。这就是为什么?如何解决?

最佳答案

flake8-import-order插件需要为configured才能知道哪些名称应视为您的应用程序本地的。

对于您的示例,如果在包根目录中使用.flake8 ini文件,则该文件应包含:

[flake8]
application_import_names = my_application

或者,您只能将相对导入用于应用程序本地导入:

from __future__ import absolute_import

import os
import sys

import requests

from . import (
    client
)


...

关于python - flake8:导入语句顺序错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39739118/

相关文章:

python - PyQt5:在客户端和服务器之间发送和接收消息

c - sublime text 3 C 编译器(我如何在 main.c 中使用带头文件的函数)

python - 片状 8 : "multiple statements on one line (colon)" only for variable name starting with "if"

sublimetext - 在 Sublime Text 中启用重音符号 (`) 自动引号

python - 薄片 8's Mercurial hook raised an exception: ' ui' 对象没有属性 'configint'

python - flake8 在过滤器子句中提示 bool 比较 "=="

python - Boto3上传ServerSideEncryption

python - 这个任务是什么? Python

python mysql中将订单号输入到表id中

javascript - sublime text 3 中 typescript 的构建系统不起作用