考虑

try:
   import someProprietaryModule
except ImportError:
   raise ImportError('It appears that <someProprietaryModule> is not installed...')

运行时,如果未安装SomepropertyModule,则会看到:

(traceback data)
ImportError: unknown module: someProprietaryModule

During handling of the above exception, another exception occurred:

(traceback data)
ImportError: It appears that <someProprietaryModule> is not installed...

也许我不想"在处理上述异常时……"行(及其上方的行)显示.我可以这样做:

_moduleInstalled = True
try:
   import someProprietaryModule
except ImportError:
   _moduleInstalled = False
if not _moduleInstalled: 
   raise ImportError('It appears that <someProprietaryModule> is not installed...')

但这感觉有点像黑客.我还能做什么?

推荐答案

在Python3.3及更高版本中,raise ... from None可以用于这种情况.

try:
   import someProprietaryModule
except ImportError:
   raise ImportError('It appears that <someProprietaryModule> is not installed...') from None

这达到了预期的效果.

Python-3.x相关问答推荐

背包问题-如何减少内存使用

如何将CSV或FDF数据解析到Python词典并注入到模板PDF表单中?

当索引大于一个整数而小于前一个索引时,我如何返回列值?

如何获取自定义文件上传路径的对象ID?

通过 Pandas 通过用户定义函数重命名数据框列

从一列字符串中提取子字符串并将它们放入列表中

如何将列表和字典逐行组合在一起

如何对具有多个列值的 pandas 数据框进行数据透视/数据透视表

类不继承时 super() 的用途

为列表列表中的每个列表插入 str 到 index[0] 中. Python

Snakemake 'run' 指令不产生错误信息

使用 RANSAC 在激光雷达点云中查找电力线

Python BeautifulSoup:在 Select 语句中排除其他标签

Python 3 `str.__getitem__` 的计算复杂度是多少?

将字节数组转换为类似字节的对象?

创建一个可旋转的 3D 地球

numpy.ndarray 与 pandas.DataFrame

如何在元素列表中找到最大的数字,可能是非唯一的?

为什么中断比引发异常更快?

在不关心项目的情况下运行生成器功能的更简单方法