From 2c3d8148481c5692958770a72b44a684bc21ab7a Mon Sep 17 00:00:00 2001 From: Yong Tang Date: Fri, 5 Feb 2021 09:50:39 -0800 Subject: [PATCH] Avoid error if plugins .so module is not available This PR raises a warning instead of an error in case plugins .so module is not available, so that tensorflow-io package can be at least partially used with python-only functions. Signed-off-by: Yong Tang --- tensorflow_io/core/python/ops/__init__.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tensorflow_io/core/python/ops/__init__.py b/tensorflow_io/core/python/ops/__init__.py index c9f6865a9..ebb0cfd47 100644 --- a/tensorflow_io/core/python/ops/__init__.py +++ b/tensorflow_io/core/python/ops/__init__.py @@ -18,6 +18,7 @@ import ctypes import sys import inspect +import warnings import types import tensorflow as tf @@ -95,5 +96,8 @@ def __dir__(self): plugin_ops = _load_library("libtensorflow_io_plugins.so", "fs") except NotImplementedError as e: # Note: load libtensorflow_io.so imperatively in case of statically linking - core_ops = _load_library("libtensorflow_io.so") - plugin_ops = _load_library("libtensorflow_io.so", "fs") + try: + core_ops = _load_library("libtensorflow_io.so") + plugin_ops = _load_library("libtensorflow_io.so", "fs") + except NotImplementedError as e: + warnings.warn("file system plugins are not loaded: {}".format(e))