mirror of
https://github.com/hacksider/Deep-Live-Cam.git
synced 2026-09-28 02:01:54 +02:00
fix: centralize OPENVINO_PROVIDER_CONFIG and log SystemExit
Address Sourcery review feedback on PR #1879: - Move OPENVINO_PROVIDER_CONFIG from _onnx_enhancer.py to platform_info.py (a leaf module with no modules.* imports), so the enhancer and face_swapper no longer import each other just to share a constant. _onnx_enhancer re-exports it; face_swapper now imports it at module top level instead of inside get_face_swapper(). - Narrow run.py's SystemExit handling: catch SystemExit separately and print a [startup] message so the failure is visible instead of being swallowed alongside ImportError/FileNotFoundError.
This commit is contained in:
@@ -33,14 +33,27 @@ if sys.platform == "win32":
|
||||
|
||||
# On Windows, register OpenVINO DLL directories so onnxruntime's
|
||||
# OpenVINOExecutionProvider can find openvino.dll. This must happen
|
||||
# before any ONNX InferenceSession is created.
|
||||
# before any ONNX InferenceSession is created. Failure is non-fatal:
|
||||
# OpenVINO simply isn't installed, and onnxruntime will fall back to CPU.
|
||||
try:
|
||||
from onnxruntime.tools.add_openvino_win_libs import ( # type: ignore[import-untyped] # noqa: E501
|
||||
add_openvino_libs_to_path,
|
||||
)
|
||||
add_openvino_libs_to_path()
|
||||
except (ImportError, FileNotFoundError, SystemExit):
|
||||
pass # OpenVINO not installed — no-op
|
||||
except ImportError:
|
||||
# onnxruntime build without the OpenVINO tooling module — no-op.
|
||||
pass
|
||||
except FileNotFoundError:
|
||||
# OpenVINO site-packages dir absent — no-op.
|
||||
pass
|
||||
except SystemExit as exc:
|
||||
# add_openvino_libs_to_path() calls sys.exit() when OpenVINO libs
|
||||
# can't be located (e.g. OPENVINO_LIB_PATHS unset). Log the message
|
||||
# it raised with so the failure is visible, but keep startup alive.
|
||||
print(
|
||||
f"[startup] OpenVINO DLL registration skipped: {exc}",
|
||||
flush=True,
|
||||
)
|
||||
|
||||
# On Linux, pre-load NVIDIA shared libraries (cuDNN, cuBLAS, nvrtc...) shipped
|
||||
# inside the venv via pip wheels (nvidia-cudnn-cu12, etc.). LD_LIBRARY_PATH
|
||||
|
||||
Reference in New Issue
Block a user