VS Code / Pylint: «импорт третьей стороны [x] должен быть помещен перед [y]» - PullRequest
0 голосов
/ 12 июня 2018

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)"

Интервал не имеет значения.Любые идеи о том, как это должно быть написано?Спасибо.

1 Ответ

0 голосов
/ 13 июня 2018

Проблема возникает из-за того, что эта строка:

import logging, sys, configparser, datetime, pyodbc

имеет импорт из стандартной библиотеки Python (sys, logging, datetime ...) и другие из третьихпартийные библиотеки (pyodbc).

Поскольку стандартный импорт должен предшествовать импорту третьей стороной, а импорт третьей стороной, как правило, должен быть в алфавитном порядке, это сочетание стандартного импорта и импорта третьей стороны в одной строке, вероятно, является причиной этих ошибок.

...