VS 代码/Pylint:"third party import [x] should be placed before [y]"

VS Code / Pylint: "third party import [x] should be placed before [y]"

Pylint 喜欢抱怨这些导入的顺序

from __future__ import print_function   # for improved print func
import logging, sys, configparser, datetime, pyodbc
from appJar import gui                  # testing GUI...

这导致:

C0411:third party import "from appJar import gui" should be placed before "import logging, sys, configparser, datetime, pyodbc"

然而,无论这些如何重新排列,pylint 总是抱怨某些事情需要先于其他事情发生。即:

示例 2

from appJar import gui                  # testing GUI...
from __future__ import print_function   # for improved print func
import logging, sys, configparser, datetime, pyodbc

结果:

C0411:standard import "from __future__ import print_function" should be placed before "from appJar import gui (50,1)" C0411:standard import "import logging, sys, configparser, datetime, pyodbc" should be placed before "from appJar import gui (51,1)" C0411:standard import "import logging, sys, configparser, datetime, pyodbc" should be placed before "from appJar import gui (51,1)" C0411:standard import "import logging, sys, configparser, datetime, pyodbc" should be placed before "from appJar import gui (51,1)" C0411:standard import "import logging, sys, configparser, datetime, pyodbc" should be placed before "from appJar import gui (51,1)"

示例 3

from __future__ import print_function   # for improved print func

from appJar import gui                  # testing GUI...

import logging, sys, configparser, datetime, pyodbc

结果:

C0411:standard import "import logging, sys, configparser, datetime, pyodbc" should be placed before "from appJar import gui (53,1)" C0411:standard import "import logging, sys, configparser, datetime, pyodbc" should be placed before "from appJar import gui (53,1)" C0411:standard import "import logging, sys, configparser, datetime, pyodbc" should be placed before "from appJar import gui (53,1)" C0411:standard import "import logging, sys, configparser, datetime, pyodbc" should be placed before "from appJar import gui (53,1)"

间距似乎并不重要。关于如何编写的任何想法?谢谢。

问题出在这一行:

import logging, sys, configparser, datetime, pyodbc

从标准 Python 库(sysloggingdatetime...)和第三方库(pyodbc).

由于标准导入应该在第三方导入之前出现,并且第三方导入通常应该按字母顺序排列,因此在同一行中混合使用标准导入和第三方导入可能是导致这些错误的原因。