我们正在努力解决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)
如何解决这些违规行为?
答案 0 :(得分:2)
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“我知道我在做什么,离开。”时,你可以想到这一点。