如何解决 E402 的问题?
How to fix issues with E402?
我们正在努力解决 PEP8 E402 的问题。
我们的代码主要在以下位置损坏:
import os
os.environ['LIB_CAN_THROW_ERROR_ON_IMPORT'] = 2
import lib
os.environ['LIB_CAN_THROW_ERROR_ON_IMPORT'] = 0 # back
-
if sys.version_info[0] > 2:
import python3lib
else:
import python2lib
-
try:
import lib
except:
print('lib is required')
sys.exit(1)
如何解决这些违规行为?
PEP8 中指定的指南就是指南。它们是一套在有意义时要遵循的规则。
E402 表示导入仅位于文件顶部。这是为了停止以下操作:
import pygame
# 800 lines of pygame stuff
...
import math
# 10 lines of math stuff
...
# Another 800 pygame lines
在上面的例子中,很难知道 math
是导入的。如果您需要在文件末尾再次使用 math
,而没有 E402 告诉您关闭,您可能会再次使用 import math
,这是无害的,但草率。
就你而言,你并不马虎。在导入另一个库或向用户提供更好的错误消息之前,您专门设置了一些东西。只需按照注释中的建议告诉您的 linter 忽略这些行上的警告,并在行末添加 # noqa: E402
。你可以在告诉 linter "I know what I'm doing, go away."
时想到这一点
我们正在努力解决 PEP8 E402 的问题。
我们的代码主要在以下位置损坏:
import os
os.environ['LIB_CAN_THROW_ERROR_ON_IMPORT'] = 2
import lib
os.environ['LIB_CAN_THROW_ERROR_ON_IMPORT'] = 0 # back
-
if sys.version_info[0] > 2:
import python3lib
else:
import python2lib
-
try:
import lib
except:
print('lib is required')
sys.exit(1)
如何解决这些违规行为?
PEP8 中指定的指南就是指南。它们是一套在有意义时要遵循的规则。
E402 表示导入仅位于文件顶部。这是为了停止以下操作:
import pygame
# 800 lines of pygame stuff
...
import math
# 10 lines of math stuff
...
# Another 800 pygame lines
在上面的例子中,很难知道 math
是导入的。如果您需要在文件末尾再次使用 math
,而没有 E402 告诉您关闭,您可能会再次使用 import math
,这是无害的,但草率。
就你而言,你并不马虎。在导入另一个库或向用户提供更好的错误消息之前,您专门设置了一些东西。只需按照注释中的建议告诉您的 linter 忽略这些行上的警告,并在行末添加 # noqa: E402
。你可以在告诉 linter "I know what I'm doing, go away."