9

PEP8 建议:

进口应按以下顺序分组:

  1. 标准库导入
  2. 相关第三方进口
  3. 本地应用程序/库特定导入

您应该在每组导入之间放置一个空行。

我正在使用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

但是烧瓶是第三方库,它应该在我my_application导入之前。这就是为什么?如何解决?

4

1 回答 1

10

flake8-import-order 插件需要配置为知道哪些名称应该被视为您的应用程序的本地名称。

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

[flake8]
application_import_names = my_application

或者,您可以仅将相对导入用于应用程序本地导入:

from __future__ import absolute_import

import os
import sys

import requests

from . import (
    client
)


...
于 2017-09-28T10:46:29.807 回答