From 4ec4ec844f71a746a67f98f2ecd2679c44f60610 Mon Sep 17 00:00:00 2001 From: Alexander Alekhin Date: Tue, 10 Dec 2019 19:00:10 +0000 Subject: [PATCH] python: fix issue with bindings loading on Python 3.8 --- modules/python/package/cv2/__init__.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/python/package/cv2/__init__.py b/modules/python/package/cv2/__init__.py index 5220e38553..d367998b0b 100644 --- a/modules/python/package/cv2/__init__.py +++ b/modules/python/package/cv2/__init__.py @@ -68,6 +68,13 @@ def bootstrap(): sys.path.insert(1, p) if os.name == 'nt': + if sys.version_info[:2] >= (3, 8): # https://github.com/python/cpython/pull/12302 + for p in l_vars['BINARIES_PATHS']: + try: + os.add_dll_directory(p) + except Exception as e: + if DEBUG: print('Failed os.add_dll_directory(): '+ str(e)) + pass os.environ['PATH'] = ';'.join(l_vars['BINARIES_PATHS']) + ';' + os.environ.get('PATH', '') if DEBUG: print('OpenCV loader: PATH={}'.format(str(os.environ['PATH']))) else: