【发布时间】:2017-02-25 08:42:43
【问题描述】:
我正在尝试围绕两个类似的库编写一个包装器,这将为我提供一个通用的 API。示例:
# file XY.version.py
try:
import X # primary library
__version__ = X.__version__
except ImportError:
import Y # fallback library
__version__ = Y.__y_version__
PyCharm 显示警告 "'X' in try block with 'except ImportError' should also be defined in except block"。有没有简单的方法来重组代码以摆脱消息?当然,我可以在一开始或在except 块中执行X = None,但这感觉很不自然,因为我只需要导入X 即可获得版本。理想情况下,我不想在命名空间中保留导入的痕迹。当然,理论上我可以在try 块的末尾做del X,但这是我在任何地方都没有看到的东西,所以我假设人们不会使用它,顺便说一句。它不会删除 PyCharm 中的警告消息。
注意:我知道这与Checking module name inside 'except ImportError' 相似,但我相信这不一样。
【问题讨论】: