使用GNU gettext类API时pyflakes提示'_'可能未定义的解决方法
解决pyflakes对全局注入
_()函数的报错问题 配置文件全局忽略:在项目根目录创建
.pyflakes、setup.cfg或tox.ini文件,添加以下内容,让pyflakes将_识别为内置函数:[pyflakes] builtins = _入口文件声明+模块静态提示:
- 在调用
gettext.install()的入口文件,给该行加一次全局忽略注释:import gettext gettext.install('myapplication') # pyflakes: noqa: F821 - 在其他模块顶部添加静态检查用的占位声明(运行时会被gettext覆盖):
from typing import Callable _: Callable[[str], str] = lambda s: s
- 在调用
显式注入
__builtins__:替换gettext.install()为手动注入,让静态检查工具更易识别:import gettext t = gettext.translation('myapplication', '/usr/share/locale') __builtins__['_'] = t.gettext
内容的提问来源于stack exchange,提问作者buhtz
相关产品推荐
相关产品推荐

