使用 gi 在文件顶部导入

Import at the top of the file with gi

对于 libnotify,我使用以下代码

import gi
gi.require_version('Notify', '0.7')
from gi.repository import Notify

然后 flake8 抱怨:

E402 module level import not at top of file

另一方面,使用gi时必须指定版本:http://mednis.info/use-girequire_versiongtk-30-before-import.html

我该怎么办?忽略 linter 的消息或删除 gi.require_version 行?

# noqa: E402 放在文件的顶部以忽略此文件中的这个错误。

有时,不在文件顶部的导入是必要的。例如,避免循环导入,避免在调用某个函数之前听到初始化模块的消息,或者像这里这样的配置。导入可能会产生显着的副作用,因此在像这样的边缘情况下,从顶部向下导入是完全可以接受的。