一些背景,其相关性可能会波动:
我目前拥有一些 F2Py 库 - 由 F2Py 从一些 Fortran 代码编译的 Python 模块。出于所有意图和目的,您可以将这些模块视为“第三方”;我目前无权访问 Fortran 源代码,也不负责编译过程。
模块本身被导入到我正在帮助开发的程序中,该程序具有 Python 脚本支持并在多个平台上运行。
我试图防止将来由于编译机器上的库版本和用户机器不同步而导致的兼容性问题引起的崩溃。一个问题已经发生,我们用户的一台机器已更改为不兼容的 numpy 版本,这导致在导入模块时启动时出现不可接受的 seg 错误。
问题:
我正在寻找一种导入 F2Py 模块的方法,但是这样我就可以处理由于模块可能依赖的库版本不兼容而可能发生的任何 seg 错误。我目前在调用导入之前检查 numpy 版本,但我宁愿先导入,然后再“捕获”任何问题:
try:
import module_name
except SegFault:
# Deal with it.
是否有可能捕获 seg 错误 -特别是由于导入而导致的错误?