# Copyright (c) 2018 PaddlePaddle Authors. All Rights Reserved.## Licensed under the Apache License, Version 2.0 (the "License");# you may not use this file except in compliance with the License.# You may obtain a copy of the License at## http://www.apache.org/licenses/LICENSE-2.0## Unless required by applicable law or agreed to in writing, software# distributed under the License is distributed on an "AS IS" BASIS,# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.# See the License for the specific language governing permissions and# limitations under the License."""Lazy imports for heavy dependencies."""importimportlibdeftry_import(module_name):"""Try importing a module, with an informative error message on failure."""install_name=module_nameifmodule_name=='cv2':install_name='opencv-python'try:mod=importlib.import_module(module_name)returnmodexceptImportError:err_msg=("Failed importing {}. This likely means that some paddle modules ""requires additional dependencies that have to be ""manually installed (usually with `pip install {}`). ").format(module_name,install_name)raiseImportError(err_msg)