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

标签 python visual-studio-code pylint

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"应该放在 "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"应该放在 "from appJar import gui (50,1)"之前 C0411:standard import "import logging, sys, configparser, datetime, pyodbc"应该放在 "from appJar import gui (51,1)"之前 C0411:standard import "import logging, sys, configparser, datetime, pyodbc"应该放在 "from appJar import gui (51,1)"之前 C0411:standard import "import logging, sys, configparser, datetime, pyodbc"应该放在 "from appJar import gui (51,1)"之前 C0411:standard import "import logging, sys, configparser, datetime, pyodbc"应该放在 "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"应该放在 "from appJar import gui (53,1)"之前 C0411:standard import "import logging, sys, configparser, datetime, pyodbc"应该放在 "from appJar import gui (53,1)"之前 C0411:standard import "import logging, sys, configparser, datetime, pyodbc"应该放在 "from appJar import gui (53,1)"之前 C0411:standard import "import logging, sys, configparser, datetime, pyodbc"应该放在 "from appJar import gui (53,1)"之前

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

最佳答案

问题出在这一行:

import logging, sys, configparser, datetime, pyodbc

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

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

关于python - VS 代码/Pylint : "third party import [x] should be placed before [y]",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50817134/

相关文章:

python - Pandas 数据框 : How to convert numeric columns into pairwise categorical data?

python - shlex.split() 和 re.split() 有什么区别?

python - Pandas/SQL-根据不同Group计算百分比

Python为导入模块中的属性分配本地值

php - 未定义的函数/方法 - Intelephense(1013) - Laravel Homestead + VScode

python-3.x - 为什么VSCode显示不存在的 'problems'?

python - 如何使用 PyCharm 运行 Pylint

node.js - 从Node.js中的sendGrid发送电子邮件时"UnhandledPromiseRejectionWarning: Error: Forbidden"

python - 让 pylint 在 pylons/SA 模型中查找继承方法时遇到问题

python - 如何跳转/显示错误的列